zoukankan      html  css  js  c++  java
  • MySQL操作数据库和表的基本语句(DDL)

    1、创建数据库:

    CREATE DATABASE 数据库名;
    eg.CREATE DATABASE test_ddl;
    2、创建表

    CREATE TABLE 表名(
    列名 数据类型 约束,
    ...
    );

    eg. CREATE TABLE table_ddl(
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    test_content VARCHAR(20) NOT NULL
    );
    3、复制表
    (1)复制表结构(不含数据)

    CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);

    eg.CREATE TABLE copy_table_ddl(
    SELECT *
    FROM table_ddl
    WHERE 1=2);
    (2)复制表数据以及结构

    CREATE TABLE 新表名 (SELECT * FROM 旧表名);

    eg.CREATE TABLE copy_table_ddl2(
    SELECT *
    FROM table_ddl
    );
    4.修改表(ALTER)

    (1)修改表名:(RENAME)

    ALTER TABLE 旧表名 RENAME 新表名;

    eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
    (2)修改列名(CHANGE)

    ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;

    eg.ALTER TABLE table_ddl_rename
    CHANGE test_content content VARCHAR(20) NOT NULL;
    (3)修改数据类型和约束(MODIFY)

    ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;

    eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
    (4)删除列(DROP)

    ALTER TABLE 表名 DROP 列名;

    eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
    (5)添加列(ADD)

    ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;

    eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
    (6)删除主键、唯一键约束(先删除索引,再删除约束)
    #因为主键只有一个,所以可以直接删除,不用索引:

    删除主键:
    ALTER TABLE 表名 DROP PRIMARY KEY;

    eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;

    删除唯一键约束索引:
    ALTER TABLE 表名 DROP INDEX 索引名;

    eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
    5.其他语句:

    DESC 表名; #查询表结构
    SHOW INDEX FROM 表名; #查询表索引
    6.约束条件:

    (1)主键:PRIMARY KEY
    (2)唯一键:UNIQUE
    (3)非空:NOT NULL
    (4)自增:AUTO_INCREMENT
    (5)默认值:DEFAULT
    (6)外键:FOREGIN KEY
    。。。

    1、创建数据库:

    CREATE DATABASE 数据库名;
    eg.CREATE DATABASE test_ddl;
    2、创建表

    CREATE TABLE 表名(
    列名 数据类型 约束,
    ...
    );

    eg. CREATE TABLE table_ddl(
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    test_content VARCHAR(20) NOT NULL
    );
    3、复制表
    (1)复制表结构(不含数据)

    CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);

    eg.CREATE TABLE copy_table_ddl(
    SELECT *
    FROM table_ddl
    WHERE 1=2);
    (2)复制表数据以及结构

    CREATE TABLE 新表名 (SELECT * FROM 旧表名);

    eg.CREATE TABLE copy_table_ddl2(
    SELECT *
    FROM table_ddl
    );
    4.修改表(ALTER)

    (1)修改表名:(RENAME)

    ALTER TABLE 旧表名 RENAME 新表名;

    eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
    (2)修改列名(CHANGE)

    ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;

    eg.ALTER TABLE table_ddl_rename
    CHANGE test_content content VARCHAR(20) NOT NULL;
    (3)修改数据类型和约束(MODIFY)

    ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;

    eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
    (4)删除列(DROP)

    ALTER TABLE 表名 DROP 列名;

    eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
    (5)添加列(ADD)

    ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;

    eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
    (6)删除主键、唯一键约束(先删除索引,再删除约束)
    #因为主键只有一个,所以可以直接删除,不用索引:

    删除主键:
    ALTER TABLE 表名 DROP PRIMARY KEY;

    eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;

    删除唯一键约束索引:
    ALTER TABLE 表名 DROP INDEX 索引名;

    eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
    5.其他语句:

    DESC 表名; #查询表结构
    SHOW INDEX FROM 表名; #查询表索引
    6.约束条件:

    (1)主键:PRIMARY KEY
    (2)唯一键:UNIQUE
    (3)非空:NOT NULL
    (4)自增:AUTO_INCREMENT
    (5)默认值:DEFAULT
    (6)外键:FOREGIN KEY
    。。。

    1、创建数据库:

    CREATE DATABASE 数据库名;
    eg.CREATE DATABASE test_ddl;
    2、创建表

    CREATE TABLE 表名(
    列名 数据类型 约束,
    ...
    );

    eg. CREATE TABLE table_ddl(
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    test_content VARCHAR(20) NOT NULL
    );
    3、复制表
    (1)复制表结构(不含数据)

    CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);

    eg.CREATE TABLE copy_table_ddl(
    SELECT *
    FROM table_ddl
    WHERE 1=2);
    (2)复制表数据以及结构

    CREATE TABLE 新表名 (SELECT * FROM 旧表名);

    eg.CREATE TABLE copy_table_ddl2(
    SELECT *
    FROM table_ddl
    );
    4.修改表(ALTER)

    (1)修改表名:(RENAME)

    ALTER TABLE 旧表名 RENAME 新表名;

    eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
    (2)修改列名(CHANGE)

    ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;

    eg.ALTER TABLE table_ddl_rename
    CHANGE test_content content VARCHAR(20) NOT NULL;
    (3)修改数据类型和约束(MODIFY)

    ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;

    eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
    (4)删除列(DROP)

    ALTER TABLE 表名 DROP 列名;

    eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
    (5)添加列(ADD)

    ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;

    eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
    (6)删除主键、唯一键约束(先删除索引,再删除约束)
    #因为主键只有一个,所以可以直接删除,不用索引:

    删除主键:
    ALTER TABLE 表名 DROP PRIMARY KEY;

    eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;

    删除唯一键约束索引:
    ALTER TABLE 表名 DROP INDEX 索引名;

    eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
    5.其他语句:

    DESC 表名; #查询表结构
    SHOW INDEX FROM 表名; #查询表索引
    6.约束条件:

    (1)主键:PRIMARY KEY
    (2)唯一键:UNIQUE
    (3)非空:NOT NULL
    (4)自增:AUTO_INCREMENT
    (5)默认值:DEFAULT
    (6)外键:FOREGIN KEY
    。。。

  • 相关阅读:
    python spark 求解最大 最小 平均
    python spark 求解最大 最小 平均 中位数
    我的spark python 决策树实例
    python spark 随机森林入门demo
    python spark 决策树 入门demo
    php 使用curl发起https请求
    awk调用shell命令的两种方法:system与print
    js 中 setTimeout()的用法
    Linux里AWK中split函数的用法
    awk substr()函数
  • 原文地址:https://www.cnblogs.com/ly570/p/11083987.html
Copyright © 2011-2022 走看看