这是我参与「第四届青训营 」笔记创作活动的第1天
前言
由于计划前端大作业方向是仿掘金主页,而掘金需要实现对一些数据的储存和读取,所以不止对前端知识有需求,还需要熟悉数据库的基础知识。
练习环境
mysql Ver 8.0.29-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
- 结合掘金小册学习
语法注意事项
- mysql各个参数的摆放顺序没有硬性规定;
- mysql默认对命令的大小写没有限制,但 数据库名 表名 列名 等需要小写;
- 命令可以随意换行,并以
; \g \G结尾,其中\G结尾会将每一列在单独一行中展示出来; - 使用
\c可以放弃本次操作;
数据库基础语法
- 连接mysql用户
mysql -h localhost -u cke1412 -p
当服务器和客户端在同一机器,同一系统下时,-h参数可省略,即:
mysql -u cke1412 -p
- 查看数据库
SHOW DATABASES;
- 创建数据库
CREATE DATABASE xxxxxx; \\可加if判断。
- 切换数据库
USE xxxxxx;
- 删除数据库
DROP DATABASE xxxxxx; \\可加if判断。
表的相关语法
- 查看库中的表
SHOW TABLES;
SHOW TABLES FROM xxxxxx;
- 创建表
CREATE TABLE xxxxxx(
列名1 数据类型 [列的属性],
列名2 数据类型 [列的属性],
...
列名n 数据类型 [列的属性]
)COMMENT "表的注释信息"; \\可加if判断。
- 删除表
DROP TABLE xxxxxx; \\可加if判断。
- 查看表结构语句
DESCRIBE 表名;
DESC 表名;
EXPLAIN 表名;
SHOW COLUMNS FROM 表名;
SHOW FIELDS FROM 表名;
- 修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
RENAME TABLE 旧表名1 TO 新表名1, 旧表名2 TO 新表名2;
- 将表移动到另一个库
ALTER TABLE table1 RENAME TO xxxxxx.table1;
列操作
- 为表增加列
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性];
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] FIRST;
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] AFTER 指定列名;
- 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
- 修改列数据
ALTER TABLE table1 MODIFY column1 VARCHAR(2);
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新属性];
- 修改列位置
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 FIRST;
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 AFTER 指定列名;
列操作规例:选择+表名+操作+列的属性、信息