mysql语句
    DDL(Data Define Language)数据定义语言
    1、库的管理
    1)库的创建(CREATE)
    CREATE DATABASE IF NOT EXISTS database1;
    2)库的修改(ALTER)
    #修改字符集
    ALTER DATABASE database1 CHARACTER SET utf-8或gbk;
    3)库的删除(DROP)
    DROP DATABASE IF EXISTS database1;
    2、表的管理
    1)表的创建(CREATE)
    a.普通创建
    CREATE TABLE IF NOT EXISTS table_name(
    字段名 字段类型 ,
    ……
    字段名 字段类型
    )
    b.复制创建
    #复制表的所有结构
    CREATE TABLE new_table LIKE old_table;
    #复制表的部分结构
    CREATE TABLE new_table SELECT list FROM old_table WHERE 0;
    #复制表的所有结构+所有数据
    CREATE TABLE new_table SELECT * FROM old_table;
    #复制表的部分结构+所有数据
    CREATE TABLE new_table SELECT field_list FROM old_table;
    #复制表的部分结构+部分数据
    CREATE TABLE new_table SELECT field_list FROM old_table WHERE condition
    c.带约束创建
    创建表时的约束可分为列级约束和表级约束,在mysql中:
    列级约束:支持主键、唯一、非空、默认
    表级约束:支持主键、唯一、外键
    一般的,外键用表级约束添加,其他的用列级约束添加
    #创建表时添加列级约束
    CREATE TABLE user(
    id INT PRIMARY KEY, #主键
    name VARCHAR(20) NOT NULL, #非空
    no INT UNIQUE, #唯一
    flag TINYINT DEFAULT 1, #默认
    )
    #创建表时添加表级约束
    CREATE TABLE user(
    id INT,
    no INT ,
    book_id INT,
    #以下添加表级约束
    CONSTRAINT pk PRIMARY KEY(id), #主键
    UNIQUE(no),#唯一,可以省略CONSTRAINT(其他约束也可一省略)
    CONSTRAINT fk_user_book FOREIGN KEY(book_id) REFERENCES book(id) #外键,建议取个约束名
    )
    d.带标识列创建
    同约束的设置方法,在创建表时,在后面添加 AUTO_INCREMENT

    CREATE TABLE user(
    id INT UNIQUE AUTO_INCREMENT,
    name VARCHAR(20)
    )

    SET auto_increment_increment=3 #设置步长
    SET auto_increment_offset=3 #设置起始值,mysql不支持,但可以通过插入数据时来手动插入一个起始值
    2)表的修改(ALTER)
    修改表名
    ALTER TABLE 表名 RENAME TO 新表名;
    修改字段名
    ALTER TABLE 表名 CHANGE COLUMN 字段名 新字段名;
    修改字段的类型、约束或添加约束
    ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型 约束类型;
    添加新列
    ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 约束类型;
    删除列
    ALTER TABLE 表名 DROP COLUMN 字段名;

    删除约束

    1. ALTER TABLE user DROP PRIMARY KEY;#删除主键<br /> ALTER TABLE user DROP FOREIGN KEY fk_user_book;#删除外键<br />3)表的删除(DROP)<br />DROP TABLE IF EXISTS 表名;