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

相关推荐
清空mega10 小时前
第五章《Android 数据存储》
数据库·android studio
q***333710 小时前
Redis简介、常用命令及优化
数据库·redis·缓存
油炸小波11 小时前
09-微服务原理篇(XXLJOB-幂等-MySQL)
android·mysql·微服务
武子康11 小时前
Java-168 Neo4j CQL 实战:WHERE、DELETE/DETACH、SET、排序与分页
java·开发语言·数据库·python·sql·nosql·neo4j
周杰伦_Jay11 小时前
【电商微服务日志处理全方案】从MySQL瓶颈到大数据架构的实战转型
大数据·mysql·微服务·架构
一 乐11 小时前
校园墙|校园社区|基于Java+vue的校园墙小程序系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·小程序
合作小小程序员小小店11 小时前
桌面开发,在线%考试管理%系统,基于eclipse,java,swing,mysql数据库。
java·数据库·mysql·eclipse·jdk
谅望者11 小时前
数据分析笔记01:数据分析概述
大数据·数据库·数据仓库·数据分析
凯子坚持 c11 小时前
从 API 到应用:用 Rust 和 SQLx 为 Axum 服务添加持久化数据库
数据库·oracle·rust