MySql数据库数据定义语言(DDL)—库和表的管理

数据定义语言(Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成,最早是由 Codasyl (Conference on Data Systems Languages) 数据模型开始,现在被纳入 SQL 指令中作为其中一个子集。
DDL主要是对库和表的操作。

库的管理

一、创建库

  • 基本语法
    create database 库名;
  • 如果数据库已存在,则会报错,所以容错写法为:
    create database if not exists 库名;

二、修改库(一般不用)

  • 重命名数据库(已废弃)
    rename database 原库名 to 新库名;
  • 从磁盘数据存储目录修改库名,然后重启数据库服务
  • 修改数据库的字符集
    alter database 库名 character set utf-8/gbk;

三、删除库

  • 基本语法
    drop database 库名;
  • 容错语法
    drop database if exists库名;

表的管理

一、 创建表

  1. 基本语法
create table 表名(
	列名 列的类型 [长度, 约束], 
	列名 列的类型 [长度, 约束], 
	......
	列名 列的类型 [长度, 约束],
);
create table if not exists 表名(
	列名 列的类型 [长度, 约束], 
	列名 列的类型 [长度, 约束], 
	......
	列名 列的类型 [长度, 约束],
);
  1. 查看表结构
    desc 表名;

二、修改表

  1. 基本语法
    alter table 表名 change|modify|add|rename to|drop column [列名] [列类型] [约束]
  2. 修改列名
    alter table 表名 change column 原列名 新列名 列类型;// column可省略
  3. 修改列的类型或约束
    alter table 表名 modify column 列名 列类型;
  4. 添加新列
    alter table 表名 add column 列名 列类型;
  5. 删除列
    alter table 表名 drop column 列名;
  6. 修改表名
    alter table 旧表名 rename to 新表名;

三、删除表

  1. 基本语法
    drop table 表名;
  2. 容错语法
    drop table if exists 表名;
  3. 查看表
    show tables;

四、复制表

  1. 仅复制表结构
    create table 表名 like 要复制的表名;
  2. 复制表结构和数据
    create table 表名 select * from 要复制的表名;
  3. 复制部分表结构和部分数据
    create table 表名 select id, name from 要复制的表名 where nation = "china";
  4. 复制部分字段,不包含数据
    create table 表名 select id, name from 要复制的表名 where 0;或1=2只要是false就行

你可能感兴趣的:(数据库)