SQL简介------ SQL功能以及操作符
数据查询DQL---------select
数据定义DDL---------create、alter、drop、(truncate)
数据操纵DML---------insert、update、delete
数据控制DCL---------grant、revoke
事务控制TCL---------commit、rollback
数据定义DDL和数据操纵DML区别:
DDL 只针对表进行操作、不可撤销
DML 针对数据进行操作、可撤销
select 语法结构:
select ... from 表/视图 where 条件
select 序列名.nextval from dual
select 序列名.currval from dual
create 语法结构:
为用户对象指定存储表空间
create user tml identified by root123 default tablespace U1;
创建表,为表中数据指定存储空间
create table 表名(字段 数据类型 是否为空以及默认值) tablespace U1;
添加表注释:comment on table 表名 is '个人信息';
添加字段注释:comment on column 表名.字段 is 'id'/'姓名';
创建同义词
create or replace public synonym 名称 for 用户.表/视图
创建序列
create sequence 序列名
start with 1
increment by 1
maxvalue 7
minvalue 1
cycle
cache 6
创建视图
create [or replace] [{force|noforce}] view view_name as select查询 [with read only] (只读要求)
创建索引
CREATE [UNIQUE] INDEX 索引名 ON 表名/分区名(字段名)(local 本地/global全局) tablespace 表空间名
创建表空间
create tablespace 表空间名称 datafile 数据文件的存储路径 '文件名1' size 数字m [,'文件名2' size 数字....]
CREATE TABLE 命令(创建表结构)
create table 表名1 as select * from 表名2 where 1=2;
insert into tablename1 select * from tablename2;
alter语法结构: alter 创建约束 alter命令 序列
alter table 表名 add constraint 约束名 约束内容
主键约束 alter table 表名 add constraint pk_表名 primary key(字段);
唯一约束 alter table 表名 add constraint un_表名 unique(字段);
非空约束 alter table 表名 modify (字段名 not null) ;
验证约束 alter table 表名 add constraint ck_表名 check(验证条件);
外键约束 alter table 表名1 add constraint fk_表名 foreign key(儿子字段) reference 表名2(爸爸字段);
父记录必须在子记录创建之前创建,子记录必须在父记录删除之前删除
ALTER TABLE 命令
alter table tablename modify (dpe01 varchar2(10)); /*修改dpe01的数据类型*/
alter table tablename add (dpe00 varchar2(10)); /*增加dep00*/
alter table tablename drop (dpe03); /*删除dpe03*/
alter table tablename rename column column1 to column2; /*字段重命名*/
alter table tablename1 rename to tablename2;/*表重命名*/
insert语法结构: INSERT INTO 表名(列名 1,列名 2......) VALUES (值 1,值 2......);
INSERT INTO 表名 values(值…..);
update语法结构: UPDATE 表名 SET 列名 1=值,列名 2=值...... WHERE 条件
删除语法区别:
DELETE FROM 表名 WHERE 条件
TRUNCATE TABLE 表名
TRUNCATE 和 DELETE 都能把表中的数据全部删除,他们的区别是:
TRUNCATE 是 DDL 命令,是针对于数据的清空,不需要提交,删除的数据不能恢复;
drop 是 DDL命令,删除的是数据库的对象信息,不需要提交;
DELETE 是 DML 命令,是针对数据的操作,需要提交,删除后的数据可以通过日志文件恢复。