用SQL语句操作数据
01.SQL语句书写规范
1,.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别
2,对表进行操作的时候,一定要使先用use关键字切换到对应的数据库
3.自增列不可以赋值
02.新增数据注意事项
01.如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前
列有默认值,那么也要给出default关键字。
02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出
的列的值之外,其他列都允许为空或者有默认值。
insert into goodPerson(stuName,stuAge) values('张小花',20)
03. 一次性向一张表中插入多条数据的解决方案
方案一:insert into 目标表
select * from 原表
注意事项:如果目标中有自增列,那么不能使用*号。
方案二:select * into 目标表(不存在)
from 原表
该方式只保留了数据和子自增列,但是主键等约束就都没有了。
方案三:insert into 目标表(存在)
select '高一二班'
union
select '高一五班'
04.几个注意点
1.以后大家见到update语句,一定要跟where条件。
2.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null
05.delete和truncate区别?
解析:01.delete 后可以跟where条件,而truncate不行
02.delete删除数据的时候会记录日志,而truncate不会
03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。
--01.如果要进行数据表中数据的查询,那么必须先定位到该表所在的数据库
use Myschool --切换数据库
select StuId, StuName, StuAge, GradeId from Student
--我只想要年龄小于岁的学员信息
select * from Student where StuAge<=22
--新增数据
insert into GoodPerson values
('微冷的雨',50,'中国某地区','未知','希望大家努力学习,将来薪资K')
select * from goodperson
insert into goodperson(stuName,stuAge,stuAddress,stuLike,stuWishes) values('张靓颖',20,default,'大家微笑的脸庞','开心就好')
insert into goodPerson(stuName,stuAge) values('张晓玲',20)
delete from goodperson
where StuId=31
select * from goodPerson2
-- 一次性向一张表中写入多条数据方案一
insert into goodPerson2
select StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson
delete from goodperson2
--方案二
select * into goodpersonbak
from goodperson
--方案三:
select * from grade
insert into grade
select '高一二班'
union
select '高一五班'
--更新高一三班位"无敌S1290"
update grade set gradename='无敌S1290'
where gradename='高一三班'
--将"王龙彪" 改成"李小龙"
--将年龄为岁的学员年龄改成
update goodpersonbak set stuname='李小龙',stuage=25
where stuname='微冷的雨'
select * from goodpersonbak
update goodpersonbak set stuname='微冷的鳄鱼',stuage=10000
where stuid=1007
select * from goodperson
insert into goodperson(stuname,stuage,stulike)
values('李小龙',20,'吃faN')
select * from goodperson
where stuwishes is null
update grade set gradename='S1'
select * from goodpersonbak