SQL 语言
内容纲要
SQL语言类型
- DDL create....drop (创建删除数据库表)
- DML:insert....(增删改查语句)
- TCL:事务ACID:commit rollback
- DCL:数据控制语句 grant revork 授权 撤权
DDL
创建表
create table 表名(
列名1 列类型(数据长度),
列名2 列类型(数据长度),
列名3 列类型(数据长度),
列名n 列类型(数据长度)
);
- 约束作用:就是用来保证数据的合法性,准确性,精确性、满足实际需求。
- 约束是表一级的限制
- 如果存在依赖关系,约束可以防止错误的删除数据
- 约束的类型: 表级约束FOREIGN KEY 行级约束
NOT NULL | 非空 |
---|---|
UNIQUE | 唯一性:身份证号码 |
PRIMARY KEY | 主键约束: 默认具有唯一性,非空约束 |
FOREIGN KEY | 外键约束(表级约束) |
CHECK | 检查约束 |
create table mystudents(
stuid number PRIMARY KEY, --学号
stuname varchar2(15) NOT NULL,
sex varchar2(5) CHECK(sex='男' or sex='女' or sex='其它'),
age number(3) CHECK(age>=1 and age <=120)
);
- 拷贝表结构,同时插入数据
create table emp0 as select * from emp;
- 创建指定列的新表
create table emp1 as select empno,sal from emp;
- 删除表
drop table mystudents;
- 需要有删除表的权限
grant drop talbe to scott;
- grant :DCL
drop table hr.employees;
DML
语法:
1 插入
- insert into 表名(列名1,列名2,....列名N) values(列值1,列值2,...列值N);
- 如果想给表的每一列都插入数据,表名后可以省略列名
- 插入数据时,必须清楚列的数据类型和长度、列是否允许为空、列的约束,外键约束,行级约束 注意插入数据对应列的顺序
- 插入指定列的值 insert into tbname (列1,列2...) values();
- 插入所有列值 insert into tbname values()
- sql语句: 用''单引号引起来的数据才表示字符串
2 修改 - update 表名 set 列名1=列值,列名2=列值, ....列名N=列值 [where 条件];
- 修改某列的值时,也必须遵守:必须清楚列的数据类型和长度、列是否允许为空、列的约束,外键约束
3 删除 - delete from 表名 [where 条件];
- 删除delete 是没有彻底删除数据--->回收站(找回这个数据)
- 彻底删除 truncate和delete的区别
- truncate先删除表结构,再重建表,不进回收站
- 查询
- select 列名1,列名2 from 表名 [where 条件];
- 单表查询 多表查询 子查询
- 复杂查询
select 列名1,列名2 from 表名 [where 条件] [group by 分组条件] [having 过滤条件] [order by asc/desc]; 排序
- **注意:互联网开发公司: 禁用 select ***
共有 0 条评论