【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:编码集,校验集

  1. 数据库编码集:数据库存储数据时使用的编码格式。
  2. 数据库校验集:数据库进行字段比较时使用的编码格式,本质上是一种读取数据库中数据采用的编码格式。

在数据库里进行任何操作(比如增删改查数据)时,操作涉及的「编码规则」必须保持一致。

讲一个小故事,便于理解这两个编码格式。

有一篇文章用 中文(编码集:GBK) 写成并存放在书架上(类比数据库存储)。

  1. 美国人(读取规则:英文编码)打开书,试图用英文解读每个字的笔画,结果看到的是一堆毫无意义的乱码(比如 "你" 字的二进制数据被英文编码解析成奇怪的符号)------读取规则(校验集)和存储规则(编码集)不匹配,数据 "失真"。
  2. 中国人(读取规则:中文编码)用同样的中文规则解读文字,顺利看懂了内容 ------读取规则和存储规则一致,数据正确呈现。
  3. 如果文章里同时有中文 "苹果" 和英文 "apple",用UTF-8 编码集书写,那么无论是中国人用中文读,还是美国人用英文读,都能正确识别各自的语言 ------通用编码集(如 UTF-8)能兼容多语言存储和读取。

4. 修改数据库

语法:alter database 数据库名 (加上想要修改的内容);

查看数据库当前 配置的指令:show create database 数据库名;

(看起来的含义像是查看创建数据库时的配置,但经过测试,实际上显示的是数据库当前配置)

便于修改数据库时做出参考
暂时省略,后面找时间做补充。

5.使用数据库

使用一个数据库,后续可以在目标数据库中做各种操作。

语法:use 数据库名;

例如:使用数据库后,创建表

二、表的操作

1. 增加表

语法:

powershell 复制代码
create table 表名(
	列名1 列类型,
	列名2 列类型,
	列名3 列类型
)character set 字符集 collate 校验规则 engine 存储引擎;
'注意:如果没有指定字符集 / 校验规则 / 存储引擎,则以所在数据库的默认为准'

示例:

powershell 复制代码
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)

相关推荐
徐子元竟然被占了!!7 小时前
Linux-systemctl
linux·数据库·oracle
YJlio9 小时前
Active Directory 工具学习笔记(10.8):AdInsight——保存与导出(证据留存、共享与二次分析)
数据库·笔记·学习
suoyue_zhan9 小时前
GBase的管理监控平台GEM实践指南
数据库
哈哈老师啊10 小时前
Springboot学生综合测评系统hxtne(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
小小8程序员10 小时前
Redis-10
数据库·redis·缓存
liuzhilongDBA10 小时前
从collation mismatch异常到其原理
数据库·version·glibc·postgres·collation
梁萌10 小时前
MySQL数据库分库分表介绍
数据库·mysql·shardingsphere·分库分表
占疏12 小时前
dify API访问工作流/聊天
开发语言·数据库·python
Cat God 00713 小时前
SQL使用及注意事项
数据库·sql·mysql