DDL 数据库表操作

创建表语法

 
-- 创建表
CREATE TABLE 数据表名 (
  列名1 属性,
  列名2 属性…
);


列属性

  • NOT NULL | NULL:该列是否允许是空值
  • DEFAULT:表示默认值
  • AUTO_INCREMENT:表示是否是自动编号
  • PRIMARY KEY:表示是否为主键
列名 数据类型 [NOT NULL | NULL] [DEFAULT 默认值] [AUTO_INCREMENT]
[PRIMARY KEY ] [注释]

例子:
/*

    创建在 db1 数据库中
    表名为 student
    包含两个字段
        学员 id
        学员姓名
*/

CREATE TABLE student(
id INT,
name VARCHAR(20)
);


复制表语法

  • 数据表名:表示新创建的数据表的名
  • LIKE 源数据表名:必选项,指定依照哪个数据表来创建新表
-- 复制表
CREATE TABLE数据表名
{LIKE 源数据表名 | (LIKE 源数据表名)}
复制过来是一张空表

例如:
-- 复制结构相同的表
CREATE TABLE student2 LIKE     student;



DDL 数据库表操作 - 查看

查看表名语法

-- 查看当前数据库中所有的表名
SHOW TABLES;

查看表结构语法

-- 查看表结构
DESCRIBE 数据表名;
DESCRIBE 数据表名 列名;

-- 查看表结构简写
DESC 数据表名;
DESC 数据表名 列名;

例子:
desc stu;
desc stu id;


DDL 数据库表操作 - 修改

添加新列

 
-- 添加新列
ALTER TABLE 表名 ADD 列名 列属性;

# 实例
-- 选择数据库 db1
USE db1;
-- 添加新列
ALTER TABLE student ADD email varchar(50) NOT NULL;
-- 查看表结构
DESC student;

修改列定义

ALTER TABLE 表名 MODIFY 列名 列属性;

# 实例
-- 添加分数列,先定义为字符类型
ALTER TABLE student ADD score varchar(10);
-- 修改字段类型
ALTER TABLE student modify score int;
-- 查看表结构
DESC student;

修改列名

 
-- 修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

# 实例
-- 修改列名并指定列的默认值
ALTER TABLE student
CHANGE COLUMN name stu_name VARCHAR(30) DEFAULT NULL;
-- 查看表结构
DESC student;

删除列

-- 删除列
ALTER TABLE 表名 DROP 列名;

# 实例
-- 将数据表 student 中的列 score 删除
ALTER TABLE student DROP score;
-- 查看表结构
DESC student;

修改表名

 
-- 修改表名方式一
ALTER TABLE 旧表名 RENAME AS 新表名;

-- 修改表名方式二
RENAME TABLE 旧表名 To 新表名;

# 实例
-- 将数据表 student 更名为 stu
ALTER TABLE student RENAME AS stu;
-- 将数据表 stu 更名为 stu_table
RENAME TABLE stu TO stu_table;
-- 查看表名
SHOW TABLES;



删除表语法

  • IF EXISTS:可选项,先判断是否存在要删除的表,存在时才执行删除操作
  • 数据表名:用于指定要删除的数据表名
DROP TABLE [IF EXISTS] 数据表名;
例子:
-- 切换到数据库 db1 
USE db1;

-- 创建 student 表
CREATE TABLE student( 
  id INT,
  name VARCHAR(20) 
);

-- 直接删除 student 表 
DROP TABLE student;

-- 先判断再删除 student 表 
DROP TABLE IF EXISTS student;
 
 
posted @ 2022-04-16 15:37  lms21  阅读(52)  评论(0)    收藏  举报