1、DDL(data definition Lanaguage)数据库模式定义语言

一、定义:

  1. DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言

二、相关语句

  1. CREATE - to create objects in the database 创建
  2. ALTER - alters the structure of the database 修改
  3. DROP - delete objects from the database 删除
  4. TRUNCATE -删除
    truncate 和 delete的区别是:
    delete删除数据,不释放表空间;(DML语言)
    truncate删除数据,释放表空间;
    以上两个只能删除数据,不能删除表结构
    drop可以删除表结构,也会释放表空间

三、例子

  1. 创建pos表(两种):
    • 1、create table pos( name varchar(11) , age int … … ) ;
    • 2、create table pos as ( select * from td_sale ) ;
  2. 删除pos表:
    • 1、truncate table pos ;(把表drop 然后再重新建表 )
    • 2、drop table pos ;(不能回滚,可以闪回)
  3. 修改表中的字段( 添加字段 ,字段属性修改、 删除字段 、字段名更改 ):
    • 1、alter table pos add ( name varchar(10) , age int … … ) ;(可以一次性在表中添加多个字段)
    • 2、alter table pos modify( name int , age varchar(10) … … ) ; (可以一次性修改表中的多个字段属性)
    • 3、alter table pos drop (name , age … … ) ;(可以一次性修改表中的多个字段属性)
    • 4、alter table pos rename age to hight ;

四、字段属性之一(数据类型)

  1. 1.

五、字段属性之二(约束)

  1. not null : 不为空
  2. primary key = unique + not null
  3. foreign key :
  4. check :
  5. unique :(可空)
  6. 例子:

    CREATE TABLE Orders
    (
    Id_O int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
    )这个称为子表,persons称为父表。
    将Persons(Id_P)中的Id_P添加外键约束,插入orders表中字段Id_P的值必须在父表Persons中存在。否则不予插入。
    FOREIGN KEY: 在子表中,定义了一个表级的约束
    REFERENCES: 指定表和父表中的列
    ON DELETE CASCADE: 当删除父表时,级联删除子表记录
    ON DELETE SET NULL: 将子表的相关依赖记录的外键值置为null

  7. check例子:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL CHECK (Id_P>0),
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )
    如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT chk_Person CHECK (Id_P>0 AND City=’Sandnes’)
    )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值