1.SQL是什么?
Structured Query Language:结构化查询语言
作用:对数据库数据进行增改删查
2.T-SQL:
Transact-SQL
T-SQL是SQL的增强版, 对功能进行了扩充:如变量说明、流程控制、功能函数
如下图:
3.SQL的组成:
DDL:建立数据库,数据库对象和定义表的列(create table,drop table)
DCL:存取许可,存取权限(grant,revoke)
DML:插入,删除,修改数据(insert,update,delete)
DQL:查询(select)
4.SQL的运算符:
+,-,*,/,%(加,减,乘,除,余)这就是我们平常所用的
5.赋值运算符:
=
6.逻辑运算符:
AND(&&) OR(||) NOT(!)
java中等于使用“==”,sql中使用“=”表示
7.比较运算符:
=,>,<,<>,>=,<=,!=(<>,!=都是不等于)
8.插入一条数据:
(1) insert into 表名(列名1,列名2,列名3)values(值1,值2,值3)
eg:insert into Subject(SubjectID,SubjectName,ClassHour)values(1,'java',60)
(2)insert into Subject values(值1,值2,值3)
eg:insert into Subject values(1,'logic java',40)
9.插入一条数据的注意事项:
(1)每次插入一行数据,不能只插入半行或者几列数据
插入的数据是否有效将按照整行的完整性的要求来检索
(2)每个数据值的数据类型必须与相应的列匹配
(3)不能为标识列指定值
(4)如果在设计表的时候指定了某列不允许为空,必须插入数据
(5)插入的数据项,要求检索约束的要求
(6)具有缺省值的列,可以使用default关键字代替插入的数值
10增删改:控制台显示受影响的行数
查询:显示查询出的结果
11.插入多条数据:
(1)insert into 表名1(列名1,列名2,列名3)
select 列名1,列名2,列名3
from 表2
eg:insert into Xi(Name,sex,id)
select Name,sex,id
from Student
前提:必须两个表中列名数据类型一样
上面()列名是属于表名1,下面这个属于表2
(2)select 表名.列名1,表名.列名2,表名.列名3
into 新表名
from 表名
eg: select Xi.Name,Xi.sex,Xi.id
into lx
from Xi
(3)关键字:union
insert into 表名(列名1,列名2,列名3)
select 值1,值2,值3 union
select 值1.1,值2.1,值3.1
eg:insert into Xi(Name,sex,id)
select '李','女',1 union
select '刘','男',2
(4)用values插入,用逗号隔开
eg:insert into Xi
values('李','男',1),
('刘','男',2)
12.update更新数据:
update 表名 set 列名=更新值 where 更新条件
eg:update Subject set SubjectName='数学' where SubjectId=5
注意:
更新多条数据用逗号隔开
不要忘记条件约束,以防数据有效的丢失
多条件联合时可使用 (AND OR NOT)
13.删除数据:
(1)delete from 表名 where 删除条件
eg:delete from Xi where Name='李'
(2)truncate table 表名
eg: truncate table Xi
注意:
表结构,列,约束等不被改动
不能用于有外键约束引用的表(主键不能删除)
标识列重新开始编号
经验:尽量少使用truncate,删除的数据不能恢复
一般情况都不会去删除,因为数据都是有用的
14.null和""的区别:
null:不存在的数据
"":真实存在,但是被隐藏(即不存在)
15.delete和truncate的区别:
(1) delete可删除表中的行数据,也可以删除整个表的数据,但是表结构还在,删除后数据可以找回,一般与where关联使用
delete每次删除一行,都将该删除的操作作为事物记录在日志中,以便进行回滚操作
(2)truncate语句执行后,id标识列重新开始排列顺序,而delete语句执行后,id标识列会接着上次进行增加
truncate是直接删除表,在重新创建一个表。删除的数据不能找回,执行速度比delete快,而且删除的彻底
16.导入和导出数据库:
右击数据库 任务 点击导入/导出就ok啦!
注意:
导入/导出数据前先根据数据库表中设置的约束、主外键关系等检查导入数据的合法性