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先删除表结构,再重建表,不进回收站
    1. 查询
  • select 列名1,列名2 from 表名 [where 条件];
  • 单表查询 多表查询 子查询
  • 复杂查询
    select 列名1,列名2   from 表名
       [where 条件]
        [group by 分组条件]
    [having 过滤条件]
                 [order by asc/desc]; 排序
  • **注意:互联网开发公司: 禁用 select ***
THE END
分享
二维码
< <上一篇
下一篇>>