MySQL - 第6节 创建和管理表

第6节 创建和管理表

目 标

  • 创建数据库
  • 创建表
  • 描述各种数据类型
  • 修改表的定义
  • 删除,重命名和清空表

创建数据库

创建一个保存员工信息的数据库

  • create database employees;

相关其他命令

  • show databases;查看当前所有数据库
  • use employees;“使用”一个数据库,使其作为当前数据库

命名规则

  • 数据库名不得超过30个字符,变量名限制为29个
  • 必须只能包含 A–Z, a–z, 0–9, _共63个字符
  • 不能在对象名的字符间留空格
  • 必须不能和用户定义的其他对象重名
  • 必须保证你的字段没有和保留字、数据库系统或常用方法冲突
  • 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了

CREATE TABLE 语句

必须具备:

  • CREATE TABLE权限
  • 存储空间
    MySQL - 第6节 创建和管理表

必须指定:

  • 表名
  • 列名, 数据类型, 尺寸

创建表

语法
MySQL - 第6节 创建和管理表

确认
MySQL - 第6节 创建和管理表

常用数据类型

MySQL - 第6节 创建和管理表
MySQL - 第6节 创建和管理表

使用子查询创建表

使用 AS subquery 选项,将创建表和插入数据结合起来
MySQL - 第6节 创建和管理表

指定的列和子查询中的列要一一对应
通过列名和默认值定义列

复制现有的表:
MySQL - 第6节 创建和管理表

使用子查询创建表举例

MySQL - 第6节 创建和管理表

ALTER TABLE 语句

使用 ALTER TABLE 语句可以实现:

  • 向已有的表中添加
  • 修改现有表中的列
  • 删除现有表中的列
  • 重命名现有表中的列

追加一个新列

MySQL - 第6节 创建和管理表

修改一个列

可以修改列的数据类型, 尺寸默认值
MySQL - 第6节 创建和管理表

对默认值的修改只影响今后对表的修改

删除一个列

使用 DROP COLUMN 子句删除不再需要的列.
MySQL - 第6节 创建和管理表

重命名一个列

使用 CHANGE old_column new_column dataType子句重命名列
MySQL - 第6节 创建和管理表

删除表

  • 数据和结构都被删除
  • 所有正在运行的相关事务被提交
  • 所有相关索引被删除
  • DROP TABLE 语句不能回滚
    MySQL - 第6节 创建和管理表

清空表

TRUNCATE TABLE 语句:

  • 删除表中所有的数据
  • 释放表的存储空间
    MySQL - 第6节 创建和管理表
    TRUNCATE语句不能回滚
    可以使用 DELETE 语句删除数据,可以回滚

对比:
MySQL - 第6节 创建和管理表

改变对象的名称

执行RENAME语句改变表, 视图的名称
MySQL - 第6节 创建和管理表

必须是对象的拥有者