MYSQL四大操作——查!查!查!

目录

简洁版:

详解版:

SQL通用语法:

分类:

[1. DDL ---库](#1. DDL —库)

[1.1 查询:](#1.1 查询:)

[1.2 创建:](#1.2 创建:)

[1.3 删除](#1.3 删除)

[1.4 使用库](#1.4 使用库)

[2. DDL---表](#2. DDL—表)

[2.1 查询](#2.1 查询)

[2.1.1 查询当前库的所有表:](#2.1.1 查询当前库的所有表:)

[2.1.2 查询表结构 :](#2.1.2 查询表结构 :)

[2.1.3 查询指定表的建表语句:](#2.1.3 查询指定表的建表语句:)

[2.2 创建](#2.2 创建)

[2.3 修改](#2.3 修改)

[2.3.1 添加表的字段:](#2.3.1 添加表的字段:)

[2.3.2 修改字段类型:](#2.3.2 修改字段类型:)

[2.3.3 修改字段名和字段类型:](#2.3.3 修改字段名和字段类型:)

[2.3.4 修改表名](#2.3.4 修改表名)

[2.4 删除](#2.4 删除)

[2.4.1 删除表;](#2.4.1 删除表;)

[2.4.2 删除字段:](#2.4.2 删除字段:)

补充:字段类型


简洁版:

DDL分别对库、表和字段的操作,不用死记硬背,用到再查,熟能生巧;

DDL ---库:

查询所有数据库:show databases;

查询当前数据库:select database();

创建库:create database 数据库名:

删除库:drop database if not exists 数据库名;

使用库: use 库名;

DDL---表

查询当前库的所有表:show tables;

查询表结构:desc 表名;

查询指定表的建表语句:show create table 表名;

创建:

create table 表名(

字段1 字段1 类型 comment " "(或 ' '单引号),

字段2 字段2 类型 comment " "(或 ' '单引号),

字段3 字段3 类型 comment " "(或 ' '单引号),

............ ............ ............ ,

)comment 表注释 ;

添加表的字段:alter table 表名 add 字段名 字段类型 【comment " "】;

修改字段类型: alter table 表名 modify 字段名 新字段类型(长度);

修改字段名和字段类型: alter table 表名 change 旧字段名 新字段名 字段类型(长度);

修改表名:alter table 表名 rename to 新表名;

删除表; drop table 【if exists】 表名;

删除字段:alter table 表名 drop 字段名;

详解版:

SQL通用语法:

1.SQL语句可以单行或多行书写,以分号结尾;

2.MYSQL的语句不区分大小写,关键字建议大写;

3.注释:

单行:--或者#(MYSQL独有);

多行:/* */ ;

分类:

下面我们分别说明DDL对库,表,字段的操作;

1. DDL ---库

1.1 查询:

所有数据库:show databases;

用来判断所处的库是哪一个:当前数据库:select database();

1.2 创建:

create databases if not exists 数据库名 default charset 字符集 collate 排序规则 ;

创建库:create database 数据库名:

当然,我们可以优化一下,防止重复创建:if not exists

还可以添加字符集: default charset 字符集

1.3 删除

drop database if not exists 数据库名;

1.4 使用库

use 库名;

2. DDL---表

2.1 查询
2.1.1 查询当前库的所有表:

use 库名;(可以不写,但查询表之前要知道查询的是哪一个库得到表)

show tables;

显示为:empty set ,说明该表为空;

2.1.2 查询表结构 :

desc 表名;

但是只能看到字段名和字段类型,看不到我们写的注释,所以我们可以查询指定表的建表语句:

2.1.3 查询指定表的建表语句:

show create table 表名;

最后一行:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 多了一些东西: COLLATE=utf8mb4_0900_ai_ci COMMENT='黑榜'

ENGINE=InnoDB:存储引擎;

DEFAULT CHARSET=utf8mb4:默认utf8mb4字符集;

COLLATE=utf8mb4_0900_ai_ci:默认的排序规则;

2.2 创建

create table 表名(

字段1 字段1 类型 comment " "(或 ' '单引号),

字段2 字段2 类型 comment " "(或 ' '单引号),

字段3 字段3 类型 comment " "(或 ' '单引号),

............ ............ ............ ,

)comment 表注释 ;

Query 表示创建成功,之后我们输入show tables (查询库中的表)检验一下;

2.3 修改
2.3.1 添加表的字段:

alter table 表名 add 字段名 字段类型 【comment " "】;

在s_hero表格里,添加字段nation,并使用desc语句查询表的结构;

2.3.2 修改字段类型:

alter table 表名 modify 字段名 新字段类型(长度);

2.3.3 修改字段名和字段类型:

alter table 表名 change 旧字段名 新字段名 字段类型(长度);

修改nation字段为countey,数据类型也一并修改,最后使用desc来查询表的结构;

2.3.4 修改表名

alter table 表名 rename to 新表名;

修改名字后,查询库中的所有表进行检验;

2.4 删除
2.4.1 删除表;

drop table 【if exists】 表名;

删除后查询,empty表示表已删除;

2.4.2 删除字段:

alter table 表名 drop 字段名;

删除country字段,并使用desc来查询表的结构;

补充:字段类型

字段类型大致可以分为三类:数值类型,字符串类型,日期类型;

(以下四张图片均来自黑马)

这是一个创建表的案例,案例中使用的字段类型几乎是常用的:

相关推荐
布莱克6053 小时前
理解索引:从概念到实践
数据库·mysql
我不是疯子是傻子6 小时前
Qt CAN通信周期发送抖动?实测定时器精度校准与时间戳补偿方案
开发语言·数据库·qt
这个DBA有点耶7 小时前
数据库迁移怎么做到“零翻车“:金仓 KDMS/KDTS/KFS 工具链实测
数据库·架构·dba
2501_937860947 小时前
MySQL联合查询(多表查询)
数据库·mysql
名字还没想好☜8 小时前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
迷迭香yy8 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
SelectDB9 小时前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB9 小时前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
weixin_539446789 小时前
Navicat Premium 17报缺少ODBC驱动
数据库
哦虎!10 小时前
【数据库】事务
java·数据库·mysql