SQL中的语句类别
SQL的全称叫做:structured query language
即:结构化查询语言;
(这个问题有人在面试的时候被问到了)
标准SQL:结构化查询语言可以分为以下这五大类:
DDL:data definition language 数据定义语句
TCL: transaction control language 事务控制语句
DML: data maniplution language 数据操纵语句 操作
DQL: data query language 数据查询语句
DCL: data control language 数据控制语句
我将分几个板块,将这几大类进行说明;
DDL: 创建、删除、修改数据对象(二维表)
1.建表
CREATE TABLE table_name(col_name col_type,…);
create table stuinfo_yeyu(name varchar2(40),age number(2),gender varchar2(4),score number(3));
快速建表语句:CREATE TABLE table_name AS select语句;
create table stuinfo_yeyu as select * from emp;
不但复制表结构 还拷贝表数据,即创建表stuinfo_yeyu,并将表emp的数据和结构完全复制到stuinfo_yeyu中;
2.查看表结构
DESC table_name;
desc stuinfo_yeyu;
3.删除表结构 连同表数据全部删除
DROP TABLE table_name;
drop table stuinfo_yeyu;
4.修改表结构
ALTER TABLE
(1)增加字段
ALTER TABLE table_name ADD (col_name col_type,…);
alter table stuinfo_yeyu add (addr varchar2(40),id varchar2(20));
(2)删除字段
ALTER TABLE table_name DROP (col_name,…);
alter table stuinfo_yeyu drop (id);
ALTER TABLE table_name DROP COLUMN col_name;
alter table stuinfo_yeyu drop column addr;
(3)修改字段名字
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
alter table stuinfo_yeyu rename column phone to tel;
(4)修改字段类型
ALTER TABLE table_name MODIFY col_name col_type;
alter table stuinfo_yeyu modify phone number(16);
(5)修改表名
RENAME table_name TO new_tab_name;
rename stuinfo_yeyu to stuinfo_yy;
5.清空表数据 保留表结构
TRUNCATE TABLE table_name;
truncate table stuinfo_yy;
注意:
DDL只要执行就会影响到数据库,不需要提交(相当于在系统中保存修改),也不能撤销;