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

【MySQL】 表的必备知识●创建和管理_第1张图片

目录

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


一、数据存储过程

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

在 MySQL中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据
【MySQL】 表的必备知识●创建和管理_第2张图片
存储过程为此顺序原因:
因为从系统架构的层次上看,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 emp
TO myemp;

方式二:

ALTER table dept
RENAME [TO] detail_dept;

删除表

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

语法格式:

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

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

DROP TABLE 语句不能回滚

清空表

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

语法格式:

TRUNCATE TABLE 表名

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

你可能感兴趣的:(MySQL8.0基础学习,mysql,数据库,database,表,sql)