【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)

相关推荐
zfj32131 分钟前
H2数据库源码学习+debug, 数据库 sql、数据库引擎、数据库存储从此不再神秘
java·数据库·sql·学习·数据库底层原理
小赵面校招2 小时前
Redis企业级开发实战:核心应用场景与最佳实践
数据库·redis·缓存
pp-周子晗(努力赶上课程进度版)2 小时前
【MYSQL】基本查询,表的增删查改
数据库·mysql
英英_3 小时前
详细介绍一下Python连接MySQL数据库的完整步骤
数据库·python·mysql
LabVIEW开发3 小时前
LabVIEW数据库使用说明
数据库·sql·labview知识
Python智慧行囊4 小时前
Python Django 的 ORM 编程思想及使用步骤
数据库·python·django·orm
苹果酱05674 小时前
Golang中的runtime.LockOSThread 和 runtime.UnlockOSThread
java·vue.js·spring boot·mysql·课程设计
南方以南_4 小时前
【云实验】Excel文件转存到RDS数据库
数据库·excel
万山y5 小时前
es快速上手(从MySQL角度)
mysql·elasticsearch·jenkins
Listennnn6 小时前
Neo4j数据库
数据库·人工智能·neo4j