【MySQL】库与表的操作
一、库的操作
1. 查看数据库
语法:show databases;
这里的database
是要加s
的
查看当前自己所处的数据库:select database();
例如下图,我当前所处的数据库就是在class1
数据库
2. 创建数据库
语法:create database [if not exists] 数据库名;
注意这里的database
不加s
创建数据库后,再查看数据库可以发现多了一个data1数据库
本质就是在/var/lib/mysql 路径下创建一个目录
当加上if not exists
后,可以发现,如果已经存在了即将要创建的数据库,那就不再创建了
3. 删除数据库
语法:drop database 数据库名;
这里我们可以看到,刚刚创建的data1数据库不见了
本质就是把刚刚在/var/lib/mysql 路径下创建的目录删除
补充知识1:编码集,校验集
- 数据库编码集:数据库存储数据时使用的编码格式。
- 数据库校验集:数据库进行字段比较时使用的编码格式,本质上是一种读取数据库中数据采用的编码格式。
在数据库里进行任何操作(比如增删改查数据)时,操作涉及的「编码规则」必须保持一致。
讲一个小故事,便于理解这两个编码格式。
有一篇文章用 中文(编码集:GBK) 写成并存放在书架上(类比数据库存储)。
- 美国人(读取规则:英文编码)打开书,试图用英文解读每个字的笔画,结果看到的是一堆毫无意义的乱码(比如 “你” 字的二进制数据被英文编码解析成奇怪的符号)——读取规则(校验集)和存储规则(编码集)不匹配,数据 “失真”。
- 中国人(读取规则:中文编码)用同样的中文规则解读文字,顺利看懂了内容 ——读取规则和存储规则一致,数据正确呈现。
- 如果文章里同时有中文 “苹果” 和英文 “apple”,用UTF-8 编码集书写,那么无论是中国人用中文读,还是美国人用英文读,都能正确识别各自的语言 ——通用编码集(如 UTF-8)能兼容多语言存储和读取。
4. 修改数据库
语法:alter database 数据库名 (加上想要修改的内容);
查看数据库当前配置的指令:show create database 数据库名;
(看起来的含义像是查看创建数据库时的配置,但经过测试,实际上显示的是数据库当前配置)
便于修改数据库时做出参考
暂时省略,后面找时间做补充。
5.使用数据库
使用一个数据库,后续可以在目标数据库中做各种操作。
语法:use 数据库名;
例如:使用数据库后,创建表
二、表的操作
1. 增加表
语法:
create table 表名(列名1 列类型,列名2 列类型,列名3 列类型
)character set 字符集 collate 校验规则 engine 存储引擎;
'注意:如果没有指定字符集 / 校验规则 / 存储引擎,则以所在数据库的默认为准'
示例:
create table student(id int,name varchar(32) comment'姓名',gender varchar(2) comment'性别',age int comment'年龄'
);
'注意:在创建表的时候最后一列的结尾不要加逗号!!!,如上就是年龄列结尾不加逗号'
2. 查看表
(1)查看所有表
查看当前数据库中的所有表
语法:show tables;
(2)查看表结构
查看单个目标表的表结构
语法:desc 表名;
示例:
可以看到查看的表结构和刚刚创建的表结构是一致的
查看创建表时的详细信息:show create table 表名;
格式化显示:show create table 表名\G
(把;
替换成\G
)