MySQL库和表的操作语句
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- MySQL库的操作
- 创建数据库
- 查看数据库
- 显示数据库的创建语句
- 修改数据库
- 删除数据库
- 数据库的备份和恢复
- 表的操作
- 创建表
- 查看当前的存储引擎
- 进入数据库
- 查看表名
- 查看表的创建相关属性
- 修改表
- 删除表
前言
本文主要把MySQL数据库的相关操作语句整理一下,方便想要操作的时候忘记了的话查找对应语句。
MySQL库的操作
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];
- SQL中大写的表示关键字,[ ]中代表的是可选项。
- CHARSET用于指定数据库所采用的编码格式。
- COLLATE用于指定数据库所采用的校验规则。
注意: 如果创建数据库时未指明数据库的编码格式或校验规则,则默认使用MySQL配置文件中对应的编码格式或校验规则。
查看数据库
show database;
显示数据库的创建语句
show create database 数据库名;
修改数据库
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];
- 对数据库的修改主要指的是修改数据库的字符集或校验规则
删除数据库
DROP DATABASE [IF EXISTS] db_name;
- 删除数据库的同时其表也会被删除,因此需要慎重删除
数据库的备份和恢复
mysqldump -P 端口号 -u 用户名 -p 密码 -B 数据库名1 数据库名2 ... > 数据库备份存储的文件路径
source 数据库备份存储的文件路径
表的操作
创建表
CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT '注释信息'],field2 datatype2 [COMMENT '注释信息'],field3 datatype3 [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];
- SQL中大写的表示关键字,[ ]中代表的是可选项。
- field表示列名,datatype表示列的类型。
- CHARSET用于指定表所采用的编码格式,如果没有指定则以所在数据库的编码格式为准。
- COLLATE用于指定表所采用的校验规则,如果没有指定则以所在数据库的校验规则为准。
- ENGINE用于指定表所采用的存储引擎。
- COMMENT用于对指定列添加注释信息。
查看当前的存储引擎
show engines;
进入数据库
use db_name;
查看表名
desc 表名
- Field表示该字段的名字。
- Type表示该字段的类型。
- Null表示该字段是否允许为空。
- Key表示索引类型,比如主键索引为PRI。
- Default表示该字段的默认值。
- Extra表示该字段的额外信息说明。
查看表的创建相关属性
show create table 表名
修改表
ALTER TABLE table_name ADD 新增列名 新增列的属性;ALTER TABLE table_name MODIFY 列名 修改后的列属性;ALTER TABLE table_name DROP 列名;ALTER TABLE table_name RENAME [TO] 新表名;ALTER TABLE table_name CHANGE 列名 新列名 新列属性;
删除表
DROP [TEMPORARY] TABLE [IF EXISTS] table_name;
- 在创建表语句中加上TEMPORARY关键字,那么服务器将创建出一个临时表,该表会在你与服务器的会话终止时自动消失。
- TEMPORARY表的名字可以与某个已有的永久表相同,当有TEMPORARY表存在时,对应的永久表会隐藏起来(即无法访问)。
- 为了避免重新连接后(TEMPORARY已经不存在),在未做检测的情况下调用DROP误删了对应永久表,因此在使用DROP删除临时表时需要带上TEMPORARY关键字。