SQL结构化查询语句,用来管理和操作数据库数据。
SQL语言分为三种:DQL、DML、DDL、DCL
DQL:数据查询语言,将数据库中数据查询出来。查询语句select
DML:数据操作语言,维护数据库。维护语句insert/update/delete
DDL:数据定义语言,定义语句create/alter/drop
DCL:数据控制语言,grant/revoke/commit/rollback
1.DQL:数据查询语句
select
2、DML:数据操作语句.
3个语句insert/delete/update
insert:插入语句。功能:将数据插入表中。结果:表中数据增加了,以行为单位。如添加一个用户信息
update: 修改语句。功能:将表中的数据进行修改。结果:数量没变,但是内容变了。如修改一个用户信息。
delete:删除语句。功能:删除表中的数据。结果:表中数量变少了,以行为单位。如删除一个用户信息。
insert 语句:
三步曲
①往哪个表插入数据——表名
②往那些列插入数据——列名
③插入的值是多少——values
语法:insert into 表名(列名1,列名2,列名3,……)values(‘数值1’,‘数值2’,‘数值3’,……);
如果该行每列的信息都要插入
insert into 表名 values(‘数值1’,‘数值2’,‘数值3’,……);
例如:
insert into emp values(9527,'小昌红','书童',9538,sysdate,10,0,30);
注意:
1、值的类型与列的类型匹配
2、值的个数与列的个数对应
3、凡是有特殊含义的值,如关键字,不能加单引号,加了之后就会变成普通的字符串
4、插入的值就必须加单引号‘’
delete 语句:
二步曲
①删哪个表——表名
②删表里的哪些行
语法:delete from 表名 where 列名1 运算符 '搜索值1',列名2 运算符 '搜索值2',……;
如:delete from emp where ename='小昌红';
delete from 表名 :删除整个表的内容,表仍然在
update 语句:
四步曲
①修改哪个表的数据——表名
②修改哪个列的数据——列名
③修改成什么值——values
④修改哪些行——where
语法:update 表名 set 列名1=新数值1,列名2=新数值2,…… where 列名 运算符 ‘搜索值’;
注意:运算符=在update语句放在set后用于赋值
如:将职工编号为9527的员工薪水改成1
update emp set sal=1 where empno=9527;
3、DDL 数据库定义语句:
create:创建对象,如创建表
alter:修改对象,如修改表,修改列
drop:删除对象的,例如删除表
①create语句
语法:create table 表名(列名1 数据类型,列名2 数据类型,……);
②alter语句
alter table 表名 add (列名1 数据类型,列名2 数据类型,……);添加列
alter table 表名 modify (列名1 数据类型,列名2 数据类型,……);修改列及列的数据类型
alter table 表名 drop (列名1,列名2,…… );删除列
③drop语句
drop table 表名:删除这个表。表不存在
DML于DDL的区别:
DML是针对表的内容,而DDL是针对表的结构
4、DCL:数据控制语句.
commit/rollback/grant/revoke
事物:自动打开,一旦执行DML语句,就自动开启一个事物,后面再执行的DML语句都会进入这个事物中,不会自动结束。
rollback:回滚,让事物中所有DML语句都执行失败。(后悔了,取消修改)
commit:提交,让事物中有DML语句都执行成功。(提交修改)
注:
commit前rollback有效,commit后rollback无效