用SQL语句操作数据
01.SQL语句书写规范
1.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别
2.对表进行操作的时候,一定要使先用use关键字切换到对应的数据库
3.自增列不可以赋值
4.字符串和日期类型都需要单引号
5.起表名的时候,千万不要起得太好,例如不要使用User作为表名。
如果表名和关键字重复了,我们可以通过[]取消转义
6.通过Ctrl+R:可以显示和隐藏结果集窗口
02.新增数据注意事项
01.如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前
列有默认值,那么也要给出default关键字。
02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出
的列的值之外,其他列都允许为空或者有默认值。
03.自增列不能赋值哟!
eg:
insert into goodPerson(stuName,stuAge,Email) values('张晓玲',20,default) --Email为自增列,且有ID列为自增列,我没有给它赋值,记住哟!
03. 一次性向一张表中插入多条数据的解决方案
方案一:insert into 目标表
select * from 原表
注意事项:如果目标中有自增列,那么不能使用*号。
eg:
insert into goodPerson2 select StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson delete from goodperson2
方案二:select * into 目标表(不存在)
from 原表
注意事项:该方式只保留了数据和子自增列,但是主键等约束就都没有了。
eg:
select * into goodpersonbak from goodperson
方案三(较常用):
eg:
insert into 目标表(存在) select '高一二班' union select '高一五班'
04. 使用T-SQL更新数据
1.以后大家见到update语句,一定要跟where条件,打死也要跟。
2.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null
eg:如果要查找Email为null的学生信息.
select *from Student where Email is null --切不可写成where Email=null
更新数据语法: update 表名 set 列名 =更新值 [where 更新条件]
eg1:在学生表中,把所有你的学生的性别改为0(女)
update Student set SSex=0
eg2:更新"成龙"为'李小龙'
update Student set name='李小龙'
where name='成龙'
eg3:将"成龙" 改成"李小龙"且年龄改为25
update goodpersonbak set stuname='李小龙',age=25
where stuname='成龙'
05. 别名的使用
别名方案一:
select msgAuthor as 留言人,msgContent as 留言内容
from Message
别名方案二:
select msgAuthor 留言人,msgContent 留言内容
from Message
别名方案三:
select 留言人=msgAuthor,留言内容=msgContent
from Message
将多列合并成一列显示
select msgAuthor+'____'+msgContent as 留言人说的留言是一种留言留言
from Message
05.delete和truncate删除键的使用
01.delete 后可以跟where条件,而truncate不行
02.delete删除数据的时候会记录日志,而truncate不会
03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。
先说到这里了!下次再谈!!!!拜!