MySQL手册 3

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL手册

显示表的相关信息

1 show table status like '表名称' \G;
2
3 mysql> show table status like 'user' \G;
4 *************************** 1. row ***************************
5 Name: user #表名
6 Engine: InnoDB #表的存储引擎 在旧版本中,该列的名字叫做 Type,而不是 Engine。
7 Version: 10 #表的.frm文件的版本号
8 Row_format: Dynamic #行的格式。对于 MyISAM 表,可选的值为 Dynamic、Fixed 或者
Compressed。
9 Rows: 0 #表中的行数。对于 MyISAM 和其他的一些存储引擎,该值是精确的,但对于
InnoDB,该值是估计值。
10 Avg_row_length: 0 #平均每行包含的字节数。
11 Data_length: 16384 #表数据的大小(以字节为单位)。
12 Max_data_length: 0 #表数据的最大容量,该值和存储引擎有关。
13 Index_length: 0 #索引的大小(以字节为单位)。
14 Data_free: 0 #对于 MyISAM 表,表示已分配但目前没有使用的空间。这部分空间包括了之前删除
的行,一级后续可以被 insert 利用到的空间。
15 Auto_increment: 1 #下一个 auto_increment 的值。
16 Create_time: 2022-09-23 10:42:13 #表的创建时间。
17 Update_time: NULL #表数据的最后修改时间。
18 Check_time: NULL #使用 check table 命令货值 myisamchk 工具最后一次检查表的时间。
19 Collation: utf8_general_ci #表默认字符集和字符列排序规则。
20 Checksum: NULL 如果启用,保存的是整个表的实时校验和。
21 Create_options: 
22 Comment: 创建表指定的其他选项。
23 1 row in set (0.01 sec)
24
25 ERROR: 
26 No query specified
27
28 \G 的作用是将表的内容横向变成纵向 字段非常多的情况下使用方便查看

查询库中全部数据表

1 show SHOW TABLES; #查询当前库中所有数据表

查询数据表创建的语句

1 SHOW CREATE TABLE `数据表名`;
2
3 mysql> show create table user\G; #查询user数据表创建语句
4 *************************** 1. row ***************************
5 Table: user
6 Create Table: CREATE TABLE `user` (
7 `id` int(11) NOT NULL AUTO_INCREMENT,
8 `user` varchar(16) NOT NULL COMMENT '用户名',
9 `password` varchar(16) DEFAULT '123456' COMMENT '密码如果不填默认123456',
10 PRIMARY KEY (`id`)
11 ) ENGINE=InnoDB DEFAULT CHARSET=utf8
12 1 row in set (0.02 sec)
13
14 ERROR: 
15 No query specified
16

数据表的类型

1 INNODB 默认使用
2 MYISAM 早些年使用 

image.png

常规使用操作:

MYISAM 节约空间 速度快

INNODB 安全性高 事务的处理 多表多操作

在物理存在的位置

yum安装的MySQL数据都存在 /var/lib/mysql 目录下

存储位置可在my.cnf里面修改

数据操作

插入数据

1 insert into name (id,name,age) values (NULL,'小乐',18);

id name age 是字段

查询表中数据

1 #select 格式
2 select 表达式 from 表;
3 数据库中的表达式:文本值 列 Null 函数 计算表达式 系统变量...
4
5
6
7 #查询表中全部数据
8 select * from 数据表名;
9
10 #查询表中指定字段数据
11 select usmysql> select user from `user`;
12 +--------+
13 | user |
14 +--------+
15 | xiaole |
16 | xiaole |
17 | xiaole |
18 | xiaole |
19 | aille |
20 | le |
21 | xiao |
22 +--------+
23 7 rows in set (0.02 sec)
24 er from `user`;
25
26 #给查询的字段的结果起一个别名
27 mysql> select user as 用户名,password as 密码 from `user`; 使用as 给查询字段的结果起别名
28 +-----------+-----------+
29 | 用户名 | 密码 |
30 +-----------+-----------+
31 | xiaole | xiaole521 |
32 | xiaole | xiaole520 |
33 | xiaole | xiaole |
34 | xiaole | 123456 |
35 | aille | xiaole521 |
36 | le | xiaole520 |
37 | xiao | 123456789 |
38 +-----------+-----------+
39 7 rows in set (0.01 sec)
40
41 #concat 将多个字符串连接成一个字符串
42 mysql> select concat('用户名:',user) as 用户名, concat('密码:',password) as 密码 from
user;
43 +------------------+------------------+
44 | 用户名 | 密码 |
45 +------------------+------------------+
46 | 用户名:xiaole | 密码:xiaole521 |
47 | 用户名:xiaole | 密码:xiaole520 |
48 | 用户名:xiaole | 密码:xiaole |
49 | 用户名:xiaole | 密码:123456 |
50 | 用户名:aille | 密码:xiaole521 |
51 | 用户名:le | 密码:xiaole520 |
52 | 用户名:xiao | 密码:123456789 |
53 +------------------+------------------+
54 7 rows in set (0.01 sec)
55
56 #指定条件 查询
57 mysql> select * from `user` where user='xiaole';
58 +----+--------+-----------+
59 | id | user | password |
60 +----+--------+-----------+
61 | 1 | xiaole | xiaole521 |
62 | 2 | xiaole | xiaole520 |
63 | 3 | xiaole | xiaole |
64 | 4 | xiaole | 123456 |
65 +----+--------+-----------+
66 4 rows in set (0.01 sec)
67
68 # distinct 去重 把查询到重复的结果去掉 
69 mysql> select distinct user from user;
70 +--------+
71 | user |
72 +--------+
73 | xiaole |
74 | aille |
75 | le |
76 | xiao |
77 +--------+
78 4 rows in set (0.01 sec)
79
80 #查询MySQL的版本
81 select version();
82
83 mysql> select version();
84 +------------+
85 | version() |
86 +------------+
87 | 5.7.37-log |
88 +------------+
89 1 row in set (0.01 sec)
90
91 #查询自增的步长
92 select @@auto_increment_increment;
93 mysql> select @@auto_increment_increment; (变量)
94 +----------------------------+
95 | @@auto_increment_increment |
96 +----------------------------+
97 | 1 |
98 +----------------------------+
99 1 row in set (0.02 sec)
100
101
102 #查询的结果加1
103 mysql> select age +1 as 年龄 from user; 给查询出来的年龄+1
104 +--------+
105 | 年龄 |
106 +--------+
107 | 1 |
108 | 1 |
109 | 1 |
110 | 1 |
111 | 1 |
112 | 1 |
113 | 1 |
114 | 1 |
115 +--------+
116 8 rows in set (0.02 sec)
117
118 #模糊查询 between 查询user表age字段值30到100之间的数据
119
120 mysql> select * from user where age between 30 and 100;
121 +----+--------+-----------+-----+
122 | id | user | password | age |
123 +----+--------+-----------+-----+
124 | 3 | xiaole | xiaole | 30 |
125 | 4 | xiaole | 123456 | 35 |
126 | 5 | aille | xiaole521 | 60 |
127 | 6 | le | xiaole520 | 55 |
128 | 7 | xiao | 123456789 | 100 |
129 | 8 | xiaole | 123456 | 70 |
130 +----+--------+-----------+-----+
131 6 rows in set (0.01 sec)
132
133
134

联表查询join

1 INNER JOIN 内连接查询
2
3 SELECT u.user,score FROM `user` AS u INNER JOIN `sorce` AS s WHERE u.user = s.user

image.png

WHERE 子句

条件筛选

作用:检索符合条件的值

1 select * from name where id=1;#查询name表name字段id=1的值
2 select * from name where age>16;#查询name表name字段id大于16的值
3 select * from name where name='小乐' and age=18;#查询name字段等于小乐并且age等于18的值
4 select * from name where name='小乐' or age=18;#查询name字段等于小乐或者age等于18的值
5 select * from name where not name='小乐';#查询除了name字段等于小乐的所有值
6 select * from name where name like '%乐%';#查询name字段中包含乐的值
7 select * from name where age in (18,11);#查询age字段中包含18 11 的值


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql学习手册(第一部分)
【5月更文挑战第17天】Mysql学习手册(第一部分)
41 0
|
1月前
|
存储 SQL 关系型数据库
MySQL学习手册(第一部分)
mysql日常使用记录
116 0
|
6月前
|
关系型数据库 MySQL 数据库
史上最全的MySQL性能手册(优化+SQL+并发+数据库)
史上最全的MySQL性能手册(优化+SQL+并发+数据库)
|
8月前
|
JSON 安全 关系型数据库
MySQL 8.0 参考手册— 内置函数和运算符参考
MySQL 8.0 参考手册— 内置函数和运算符参考
54 0
|
10月前
|
存储 关系型数据库 MySQL
MySQL手册 2
MySQL手册
|
9月前
|
关系型数据库 MySQL
Github上标星68.5K,阿里巴巴《MySQL成长手册》火了
MySQL为什么能如此火爆? 成本,MySQL是开源的,他可以免费使用。 性能,MySQL快不快大家应该都有体会。 可靠性,超级大厂都在用它来处理重要数据,放心用就行; 简单,安装使用都非常简单
|
9月前
|
存储 SQL 关系型数据库
MD牛!阿里多位资深MySQL专家撰写的437页MySQL技术内幕分享手册
MySQL数据库的体系结构 MySQL由以下几部分组成: 连接池组件 管理服务和工具组件 SQL接口组件 查询分析器组件 优化器组件 缓冲(Cache)组件 插件式存储引擎 物理文件
67 0
|
SQL 存储 关系型数据库
5 分钟上手 Flink MySQL 连接器实验手册|Flink-Learning 实战营
加入 Flink-Learning 实战营,动手体验真实有趣的实战场景。只需 2 小时,让您变身 Flink 实战派。实战营采取了 Flink 专家在线授课,专属社群答疑,小松鼠助教全程陪伴的学习模式。
1810 2
5 分钟上手 Flink MySQL 连接器实验手册|Flink-Learning 实战营
|
10月前
|
SQL 存储 关系型数据库
MySQL手册 4
MySQL手册
135 0
|
10月前
|
SQL 关系型数据库 MySQL
MySQL手册 1
MySQL手册
201 0