第6节 创建和管理表
目 标
- 创建数据库
- 创建表
- 描述各种数据类型
- 修改表的定义
- 删除,重命名和清空表
创建数据库
创建一个保存员工信息的数据库
- create database employees;
相关其他命令
- show databases;查看当前所有数据库
- use employees;“使用”一个数据库,使其作为当前数据库
命名规则
- 数据库名不得超过30个字符,变量名限制为29个
- 必须只能包含 A–Z, a–z, 0–9, _共63个字符
- 不能在对象名的字符间留空格
- 必须不能和用户定义的其他对象重名
- 必须保证你的字段没有和保留字、数据库系统或常用方法冲突
- 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了
CREATE TABLE 语句
必须具备:
- CREATE TABLE权限
- 存储空间
必须指定:
- 表名
- 列名, 数据类型, 尺寸
创建表
语法
确认
常用数据类型
使用子查询创建表
使用 AS subquery 选项,将创建表和插入数据结合起来
指定的列和子查询中的列要一一对应
通过列名和默认值定义列
复制现有的表:
使用子查询创建表举例
ALTER TABLE 语句
使用 ALTER TABLE 语句可以实现:
- 向已有的表中添加列
- 修改现有表中的列
- 删除现有表中的列
- 重命名现有表中的列
追加一个新列
修改一个列
可以修改列的数据类型, 尺寸和默认值
对默认值的修改只影响今后对表的修改
删除一个列
使用 DROP COLUMN 子句删除不再需要的列.
重命名一个列
使用 CHANGE old_column new_column dataType子句重命名列
删除表
- 数据和结构都被删除
- 所有正在运行的相关事务被提交
- 所有相关索引被删除
- DROP TABLE 语句不能回滚
清空表
TRUNCATE TABLE 语句:
- 删除表中所有的数据
- 释放表的存储空间
TRUNCATE语句不能回滚
可以使用 DELETE 语句删除数据,可以回滚
对比:
改变对象的名称
执行RENAME语句改变表, 视图的名称
必须是对象的拥有者