> 文档中心 > 【MySQL】 表的必备知识●创建和管理

【MySQL】 表的必备知识●创建和管理

在这里插入图片描述

目录

  • 一、数据存储过程
    • 🔥标识符命名规则
  • 二、数据库
    • 🔥创建数据库
    • 🔥使用数据库
    • 🔥修改数据库
    • 🔥删除数据库
  • 三、表
    • 🔥创建表
      • 👌方式一:常规
      • 👌方式二:使用
    • 🔥修改表
      • 👌追加一个列
      • 👌修改一个列
      • 👌重命名一个列
      • 👌删除一个列
    • 🔥重命名表
    • 🔥删除表
    • 🔥清空表

一、数据存储过程

存储数据是处理数据的第一步

在 MySQL中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据
【MySQL】 表的必备知识●创建和管理
存储过程为此顺序原因:
因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是 数据库服务器 、 数据库 、 数据表 、数据表的 行与列

🔥标识符命名规则

  1. 数据库名、表名不得超过30个字符,变量名限制为29个
  2. 必须只能包含 A–Z, a–z, 0–9, _共63个字符
  3. 数据库名、表名、字段名等对象名中间不要包含空格
  4. 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
  5. 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使
    用`(着重号)引起来
  6. 保持字段名和类型的一致性

二、数据库

🔥创建数据库

  • 方式1:创建数据库
CREATE DATABASE 数据库名;
  • 方式2:创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
  • 方式3:判断数据库是否已经存在,不存在则创建数据库(荐)
CREATE DATABASE IF NOT EXISTS 数据库名;

🎁注:DATABASE 不能改名
一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成的

🔥使用数据库

  • 查看当前所有的数据库
SHOW DATABASES; #有一个S,代表多个数据库
  • 查看当前正在使用的数据库
SELECT DATABASE(); #使用的一个 mysql 中的全局函数
  • 查看指定库下所有的表
SHOW TABLES FROM 数据库名;
  • 查看数据库的创建信息
SHOW CREATE DATABASE 数据库名;
SHOW CREATE DATABASE 数据库名\G
  • 使用/切换数据库
USE 数据库名;

🔥修改数据库

  • 更改数据库字符集
ALTER DATABASE 数据库名 CHARACTER SET 字符集

🔥删除数据库

  • 方式1:删除指定的数据库
DROP DATABASE 数据库名;
  • 方式2:删除指定的数据库(荐)
DROP DATABASE IF EXISTS 数据库名;

三、表

🔥创建表

👌方式一:常规

  1. 必须具备:
    ●CREATE TABLE权限
    ●存储空间
  2. 语法格式
CREATE TABLE [IF NOT EXISTS] 表名(字段1, 数据类型 [约束条件] [默认值],字段2, 数据类型 [约束条件] [默认值],字段3, 数据类型 [约束条件] [默认值],……[表约束条件]);
  1. 必须指定:
    ●表名
    ●列名(或字段名),数据类型,长度
  2. 可选指定:
    ●约束条件
    ●默认值

👌方式二:使用

  1. 使用AS subquery选项,将创建表和插入数据结合起来
  2. 指定的列和子查询中的列要一一对应
  3. 通过列名和默认值定义列
CREATE TABLE table[(column, column...)]AS subquery;

🔥修改表

修改表指的是修改数据库中已经存在的数据表的结构

ALTER TABLE 语句可以实现:
●向已有的表中添加
修改现有表中的列
删除现有表中的列
重命名现有表中的列

👌追加一个列

语法格式:

ALTER TABLE 表名 ADD  字段名 字段类型 【FIRST|AFTER 字段名】;

👌修改一个列

可以修改列的数据类型,长度、默认值和位置
语法格式:

ALTER TABLE 表名 MODIFY 字段名1 字段类型 【DEFAULT 默认值】【FIRST|AFTER 字段名2;

👌重命名一个列

使用 CHANGE old_column new_column dataType子句重命名列
语法格式:

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

👌删除一个列

语法格式:

ALTER TABLE 表名 DROPCOLUMN】字段名

🔥重命名表

方式一:使用RENAME

RENAME TABLE empTO myemp;

方式二:

ALTER table deptRENAME [TO] detail_dept;

🔥删除表

在MySQL中,当一张数据表 没有与其他任何数据表形成关联关系 时,可以将当前数据表直接删除

语法格式:

DROP TABLE [IF EXISTS] 数据表1 [, 数据表2,, 数据表n];

🎁注:IF EXISTS 的含义为:如果当前数据库中存在相应的数据表,则删除数据表;如果当前数据库中不存在相应的数据表,则忽略删除语句,不再执行删除数据表的操作

DROP TABLE 语句不能回滚

🔥清空表

TRUNCATE TABLE语句
●删除表中所有的数据
●释放表的存储空间

语法格式:

TRUNCATE TABLE 表名

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