MySQL学习笔记
SQL基础操作摘要 SQL是用于管理关系型数据库的标准语言,主要包括三类指令:DDL(数据定义)、DML(数据操作)和DCL(数据控制)。数据库操作包含创建(指定字符集/校验规则)、查看、修改和删除等基本命令。表操作包括创建表(定义字段、数据类型、约束条件)、查看表结构、修改表(增删改列、重命名)以及删除表等。MySQL 8.0默认使用utf8mb4字符集和utf8mb4_0900_ai_ci排序
目录
1 SQL简介
SQL(StructuredQueryLanguage)是结构化查询语⾔的简称,是⼀种数据库查询和程序设计语⾔, ⽤于存取数据以及查询、更新和管理关系数据库。
SQL分类:
DDL(Data Definition Language)数据定义语言,用来维护存储数据的结构;代表指令:creat, drop,alter
DML(Data Manipulation Language)数据操纵语言,用来对数据进行操作;代表指令:insert,delete,update,select
DCL(Data control Language)数据控制语言,主要负责权限管理和事务;代表指令:grant,revoke,commit
2 库的操作
2.1 查看数据库
show databases;
2.2 创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISES] da_name [create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}
-- 大写的单词都是关键字,照着写即可 --
-- IF NOT EXISES 如果不存在 --
-- da_name 自定义数据库名 --
-- create databases if not exists Java;--
-- 如果Java这个数据库不存在则创建一个名Java的数据库 --
大写部分表示关键字
da_name:表示自定义的数据库名
{ } ⼤插号表示必须选
| 表示任选其中⼀个
[ ] 中括号表示是可选项
CHARACTER SET:指定数据库采用的字符集编码
COLLATE:指定数据库字符集的校验规则
ENCRYTION:数据库是否加密,MySQL8.0.16中引⼊的新选项
2.3 字符集编码和校验(排序)规则
2.3.1 查看数据库⽀持的字符集编码
show charset;
MySQL8.0默认的字符集编码是 utf8mb4 ,MySQL5.7默认的字符集是 latin1
2.3.2 查看数据库⽀持的排序规则
show collation;
MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci ,MySQL5.7默认排序规则是 utf8mb4_general_ci
2.3.5 创建数据库时指定字符集和检验规则
创建⼀个库名为班级名,字符编码集为 utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据 库,数据库不存在时则创建
create database if not exists java character set utf8mb4 collate utf8mb4_0900_ai_ci;
2.4 查看创建语句
2.4.1 语法
show create database java;

数据库名字的反引号``,是为了防⽌使⽤的数据库名刚好是关键字
/!40100 default..../ 和 /!80016 DEFAULT...*/ 这个不是注释,表⽰当前mysql版本⼤于4.01和 8.0.16时,分别执⾏对应的语句
2.5 修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
alter_option ...
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
| READ ONLY [=] {DEFAULT | 0 | 1}
}
-- alter database java charter set gbk; --
2.6 删除数据库
2.6.1 语法
DROP {DTABASE | SCHEMA} [ IF EXISTS] db_name;

3 表的操作
3.1 查看所有表
show tables;
3.2 创建表
3.2.1 语法
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
field datatype [约束] [comment '注解内容']
[, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];
-- [engine 存储引擎] [character set 字符集] [collate 排序规则] --
-- 这些可选项,如果不指定就用数据库默认的,也可单独为每张表指定不同的设置 --
-- 先定义列明 数据类型;多个列(字段)之间用逗号隔开,最后一个列结尾没有逗号 --
-- 单行注释
/*
多行注释
*/
TEMPORARY:表⽰创建的是⼀个临时表
field:列名
datatype:数据类型
comment:对列的描述或说明
engine:存储引擎,不指定则使⽤默认存储引擎
character set:字符集,不指定则使⽤默认字符集
collate:排序规则,不指定则使⽤默认排序规则
例:

3.3 查看表结构
desc 表名;

3.4 修改表
3.4.1 语法
ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {
table_options
| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| RENAME COLUMN old_col_name TO new_col_name
| RENAME [TO | AS] new_tbl_name
tbl_name:要修改的表名
ADD:向表中添加列
MODIFY:修改表中现有的列

DROP:删除表中现有的列
RENAME COLUMN:重命名表中现有的列
RENAME [TO | AS] new_tbl_name:重命名当前的表
3.5 删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
-- [, tbl_name] --
-- 要删除的表名,可以指定多个,中间用逗号隔开 --
TEMPORARY:表⽰临时表
tbl_name:将要删除的表名
删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
删除表成功后,磁盘上对应的数据⽂件也会被删除
⼀次可以删除多个表,表与表之间⽤逗号隔开
更多推荐




所有评论(0)