zoukankan      html  css  js  c++  java
  • 数据库(二)

    修改表格  

    如果SQL server 2008中无法修改表结构,提示错误为:不允许保存修改,……

    解决方案:工具→选项→左侧的Designers→表设计器和数据库设计器

    去掉“阻止保存要求重新创建表的更改”前面的钩,重新启动系统。

    --修改数据库的名字将student的名字修改成xuesheng
    sp_renamedb student,xuesheng

    增加列:  

    Alter table 表名 add 列名 列类型

    --修改表,新加入列,注意与内置单词冲突的时候,列名加[]括起来
    alter table xinxi add [int] varchar(10)
    alter table xinxi add nianling int

    删除列: 

    alter table 表名 drop column 列名

    --修改表删除一列
    alter table xinxi drop column [int]

    修改列的类型: 

    alter table 表名 alter column 列名 新类型

    Insert 增(添加) 

    应用:表结构不变,只能增加一行或某个值在不是自增长的情况下才能赋值,列名用逗号隔开,值的次序默认为表的次序,如果输入的值不全,可在前面加需要输入的列名,顺序一一对应values值。

    --插入数据
    insert into xinxi values(1,'张三',96)
    insert into xinxi values(2,'李四',91)
    insert into xinxi values(3,'王五',69)

    Delete 删除 

    Delete from 表名       删除表内容(表结构还在)这种删除方式会写日志,所以自增长的序列号会往下延续,不断增加不会从头开始

    Truncate table 表名          此删除将表清空,速度快,不写日志,故再输入从头开始

    Delete from 表名 where 列名 关系表达式 值            多条件可以加and或or

    列名between值1 and 值2 等同于列名<=值2 and 列名>=值1

    列名 in(值1,值2,值3,...) 筛选出值为值1或值2或值3...的选项

    表中选中某一数据值 按 ctrl+0 此值变为null

    Update 改、更新 

    Update 表名 set 列名=值,列名=值,…… where 列名 关系表达式 值

    update xinxi set fenshu=100 where code=6

    Retrieve 检索、查询 

    select *from 表

    select 列名,列名,…… from 表

    select *from 表 where 列名 关系运算符 值 and 列名 关系运算符 值

    select *from 表 where 列名 between 1 and 100  (范围查询)

    select *from 列名 where 列名 in(3,4,5)

    select distinct 列名 from 表    (列去重)

    select *from 列名 where name like %5%       %任意多个任意字符;_一个任意字符

    ---查询语句,条件查询
    select *from xinxi
    select fenshu,name from xinxi
    select fenshu,name from xinxi where name='李四'

    select *from xinxi where fenshu between 80 and 100--范围
    update xinxi set nianling = 26 where fenshu between 80 and 100
    select distinct name from xinxi--针对一列去重显示

    update xinxi set name='李四' where code = 9
    select *from xinxi where name='李四' and nianling =26
    select *from xinxi where name='李四' or nianling =26
    select *from xinxi where name in ('李四','赵六')
    select *from xinxi where name not in ('李四','赵六')
    --模糊查询名字里面带四的,通配符%表示任意很多字符
    select *from xinxi where name like '%四%'
    --下划线表示任意一个字符
    select *From xinxi where name like '李_'
    --下划线加中括号,等同于in的功能,任意一组满足就查询出来
    select *from xinxi where name like '_[李四,赵六,田七]'

    筛选 

    Select *from 表名 where 列名 关系表达式 值

    去重 

    Select distinct 列名 from 表名        去除这一列的重复值

    模糊查询 

    Select *from 表名 where 列名 like '王%'

    通配符:%:任意多个字符;_:一个任意字符;[4,5,6]:中括号代表选里面的值其一

    排序 

    Select *from 表名 order by 列名 asc (升序) 或 desc (降序)

    --按年龄排序,asc升序,desc降序,默认不写是升序
    select *from xinxi order by nianling asc
    select *from xinxi order by nianling desc
    --按降序排列分数后,查前三名
    select top 3 *from xinxi order by fenshu desc
    --按条件查询后排序,查名字叫李四的人谁的分数最高
    select top 1 *from xinxi where name='李四' order by fenshu desc

  • 相关阅读:
    Offer快到碗里来,囊中之物-CAS
    SQL 两表一对多关联,主表某字段保存所有关联的id
    No Feign Client for loadBalancing defined
    Clean Code读书笔记 3--类
    Clean Code读书笔记(2)---函数
    Clean Code读书笔记(1)---有意义的命名
    [CF1354D] Multiset
    [CF1365E] Maximum Subsequence Value
    [CF1358D] The Best Vacation
    [CF463C] Gargari and Bishops
  • 原文地址:https://www.cnblogs.com/mxx0426/p/4067317.html
Copyright © 2011-2022 走看看