SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N,为了防止乱码问题 tbUsers(UserName,Age,Email,DepartmentID) (N,,,)2. update 语法格式: update? 表名? set? 列名=值? where 条件 tbUsers Age id3. delete 语法格式: delete from 表名 where 条件 tbUsers id使用delete时需谨慎,注意Where条件的控制,避免多删除数据。如果不加where条件,会将表中的所有数据删除(表中自动编号的列不会回到初始值)。 使用 truncate 也可删除数据,但 truncate 无法根据条件删除,只能全部删除表中数据 (如果表中有identity自动编号的列,自动编号会回到初始值)。 4. select 语法格式:select 列名1,列名2,列名3.... from? 表名? where 条件 UserName,Email tbUsers UserName5. 修改表结构 删除列: tbUsers Age增加列: tbUsers Age修改列: tbUsers Email ()添加主键约束: tbUsers pk_Email (Email)添加非空约束: tbUsers Email ()添加唯一约束: tbUsers UQ_Email (Email)添加默认约束: tbUsers DF_Email () Email添加检查约束: tbUsers CK_Age (Age Age)添加外键约束: tbUsers FK_Department (DepartmentID) department(DepartmentID)删除约束: tbUsers FK_Department可以在创建表时就加上约束: ( (Age Age() (6. 关键字使用 order by:? 排序,放在整个sql语句的最后,升序asc,降序desc distinct:? 对查询出的整个结果集去除重复 top:? 取查询结果集的前多少条记录,与order by结合使用才有意义 like:? 模糊查询( _:表示单个字符,%:表示任意字符,[ ]:表示筛选,范围) group by: 分组统计,与聚合函数配合使用 between...and:? 用于查询介于两个值之间的数据范围内的数据集 7. 聚合函数 sum(): 对表中值求和 count():? 统计指定条件下值的数目 max(): 求最大值 min(): 求最小值 avg(): 求平均值 8. 字符串函数 len():? 获取字符的个数 upper(): 转换大写 lower(): 转换小写 ltrim(): 去掉左边空格 rtrim(): 去掉右边空格 left():? 从左边开始截取 right(): 从右边开始截取 substring(): 可用来截取指定位置字符串 9. 日期函数 getdate():? 取得当前日期 dateadd(): 在某个日期加上指定时间段 datediff(): 在某个日期减去指定时间段 datepart(): 取得日期的某部分 convert():? 把日期转换为新数据类型的通用函数。可以用不同的格式显示日期/时间。 10. 多表联合查询 left join:? 左表返回所有的行,即使在右表中没有匹配的行 right join: 右表返回所有的行,即使在左表中没有匹配的行。 union: 使用时 select 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 select 语句中的列的顺序必须相同 union all: 如果允许重复的值,请使用 union all。 11. NULL值的判断 在sql server中,判断是否为 null 值用 is null 或 is not null
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |