第6节 创建和管理表

目 标

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

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

  • create database employees;

相关其他命令

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

必须具备:

  • CREATE TABLE权限
  • 存储空间

必须指定:

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

语法

mysql创建每个员工薪资表 mysql创建员工管理数据库_数据类型

确认

mysql创建每个员工薪资表 mysql创建员工管理数据库_数据库_02

常用数据类型

mysql创建每个员工薪资表 mysql创建员工管理数据库_mysql创建每个员工薪资表_03


mysql创建每个员工薪资表 mysql创建员工管理数据库_数据类型_04

使用子查询创建表

使用 AS subquery 选项,将创建表和插入数据结合起来

mysql创建每个员工薪资表 mysql创建员工管理数据库_数据库_05

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

复制现有的表:

mysql创建每个员工薪资表 mysql创建员工管理数据库_创建表_06

使用子查询创建表举例

mysql创建每个员工薪资表 mysql创建员工管理数据库_数据库_07

ALTER TABLE 语句

使用 ALTER TABLE 语句可以实现:

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

mysql创建每个员工薪资表 mysql创建员工管理数据库_mysql创建每个员工薪资表_08

修改一个列

可以修改列的数据类型, 尺寸默认值

mysql创建每个员工薪资表 mysql创建员工管理数据库_数据类型_09

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

删除一个列

使用 DROP COLUMN 子句删除不再需要的列.

mysql创建每个员工薪资表 mysql创建员工管理数据库_创建表_10

重命名一个列

使用 CHANGE old_column new_column dataType子句重命名列

mysql创建每个员工薪资表 mysql创建员工管理数据库_创建表_11

删除表
  • 数据和结构都被删除
  • 所有正在运行的相关事务被提交
  • 所有相关索引被删除
  • DROP TABLE 语句不能回滚
清空表

TRUNCATE TABLE 语句:

  • 删除表中所有的数据
  • 释放表的存储空间

    TRUNCATE语句不能回滚
    可以使用 DELETE 语句删除数据,可以回滚

对比:

mysql创建每个员工薪资表 mysql创建员工管理数据库_mysql创建每个员工薪资表_12

改变对象的名称

执行RENAME语句改变表, 视图的名称

mysql创建每个员工薪资表 mysql创建员工管理数据库_创建表_13

必须是对象的拥有者