目录

1 SQL简介

2 库的操作

2.1 查看数据库

​编辑

2.2 创建数据库

2.3 字符集编码和校验(排序)规则

2.3.1 查看数据库⽀持的字符集编码

2.3.2 查看数据库⽀持的排序规则

2.3.5 创建数据库时指定字符集和检验规则

2.4 查看创建语句

2.4.1 语法

2.5 修改数据库

2.6 删除数据库

2.6.1 语法

3 表的操作

3.1 查看所有表

3.2 创建表

3.2.1 语法

3.3 查看表结构

3.4 修改表

3.5 删除表


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:将要删除的表名

删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎

删除表成功后,磁盘上对应的数据⽂件也会被删除

⼀次可以删除多个表,表与表之间⽤逗号隔开

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐