一些经典===>>用SQL语句操作数据

用SQL语句操作数据

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

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删除键的使用

.delete 后可以跟where条件,而truncate不行

.delete删除数据的时候会记录日志,而truncate不会

.delete删除表中所有数据库,id编号不会从1开始,而truncate会。

先说到这里了!下次再谈!!!!拜!

上一篇:boost库asio详解1——strand与io_service区别


下一篇:Redis安装以及Java客户端jedis连接不上相关问题解决