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 ,说明该表为空; ![](https://img-blog.csdnimg.cn/direct/3537d0f7e7644432b2b0884456fff6b5.png) ###### 2.1.2 查询表结构 : desc 表名; ![](https://img-blog.csdnimg.cn/direct/fb2482ec6ba24fc0ab2ce733904a0193.png) 但是只能看到字段名和字段类型,看不到我们写的注释,所以我们可以查询指定表的建表语句: ###### 2.1.3 查询指定表的建表语句: > show create table 表名; ![](https://img-blog.csdnimg.cn/direct/44a4b96396d14dae922597da9de0ab44.png) 最后一行: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 (查询库中的表)检验一下; ![](https://img-blog.csdnimg.cn/direct/366e3b59dd034a53a3363127722d1e63.png) ##### 2.3 修改 ###### 2.3.1 添加表的字段: > alter table 表名 add 字段名 字段类型 【comment " "】; 在s_hero表格里,添加字段nation,并使用desc语句查询表的结构; ![](https://img-blog.csdnimg.cn/direct/ad1e9b99c9b04f9c9d17a128a53aee06.png) ###### 2.3.2 修改字段类型: alter table 表名 **modify** 字段名 新字段类型(长度); ###### 2.3.3 修改字段名和字段类型: > alter table 表名 change 旧字段名 新字段名 字段类型(长度); 修改nation字段为countey,数据类型也一并修改,最后使用desc来查询表的结构; ![](https://img-blog.csdnimg.cn/direct/b24d0806d81948c2839aa6ac8de5d6fb.png) ###### 2.3.4 修改表名 > alter table 表名 rename to 新表名; 修改名字后,查询库中的所有表进行检验; ##### ![](https://img-blog.csdnimg.cn/direct/98c809848ca14e1c8b21f5f64a04b949.png) ##### 2.4 删除 ###### 2.4.1 删除表; > drop table 【if exists】 表名; 删除后查询,empty表示表已删除; ![](https://img-blog.csdnimg.cn/direct/5c97863e404b4a0284e59d74bd66d1ac.png) ###### 2.4.2 删除字段: > alter table 表名 drop 字段名; 删除country字段,并使用desc来查询表的结构; ![](https://img-blog.csdnimg.cn/direct/e0e3f1a63ac64e00b4661bc10db68548.png) ### 补充:字段类型 字段类型大致可以分为三类:数值类型,字符串类型,日期类型; (以下四张图片均来自黑马) ![](https://img-blog.csdnimg.cn/direct/0e18547ff61d4b7e8e0cce4a81c9fed9.png) ![](https://img-blog.csdnimg.cn/direct/41137e6d8dba4b3aa4492d068c9d43f3.png) ![](https://img-blog.csdnimg.cn/direct/7d09c5a3993a497ba6d6113d7e92fbb0.png) 这是一个创建表的案例,案例中使用的字段类型几乎是常用的: ![](https://img-blog.csdnimg.cn/direct/59f835dee98747a79758e0df594c4964.png)

相关推荐
蜕变的土豆7 分钟前
ubuntu22.04下安装mysql以及mysql-workbench
数据库·mysql
notfindjob18 分钟前
QT Sqlite数据库-教程001 创建数据库和表-下
数据库·qt·sqlite
涛思数据(TDengine)1 小时前
虚拟表、TDgpt、JDBC 异步写入…TDengine 3.3.6.0 版本 8 大升级亮点
大数据·数据库·tdengine
betazhou1 小时前
sqlserver2017 分离附加数据库
数据库·oracle·sqlserver
我是小木鱼1 小时前
浅析Centos7安装Oracle12数据库
linux·运维·服务器·数据库
Arbori_262151 小时前
oracle 表空间(Tablespace)
数据库·oracle
茉莉玫瑰花茶2 小时前
线程同步与互斥(下)
linux·数据库
BUG 劝退师2 小时前
MySQL数据库编程总结
数据库·mysql
notfindjob2 小时前
QT Sqlite数据库-教程001 创建数据库和表-上
数据库
亚林瓜子2 小时前
docker compose方式安装ClickHouse数据库
数据库·clickhouse·docker·mac·m1