数据库基本操作
# 数据库状态
status; #简写 \s
show processlist;
- Id :该字段表示当前会话的唯⼀标识符,每个会话都有⼀个唯⼀的 ID。
- User :该字段表示当前会话的⽤户名。
- Host :该字段表示当前会话的主机名或 IP 地址。
- db :该字段表示当前会话正在使⽤的数据库名,如果为 NULL,则表示当前未选择任何数据库。
- Command :该字段表示当前会话正在执⾏的命令类型,如 Query、Sleep、Connect 等。
- Time :该字段表示当前会话已经执⾏的时间,单位为秒。
- State :该字段表示当前会话的状态,如 starting、sending data、locked 等。
- Info :该字段表示当前会话正在执⾏的 SQL 语句或其他信息。
可视化
int(11) VS int(21) 存储空间,还是存储范围有区别?
答案是:两者完全⼀样,只是在显示的时候补全0的位数不⼀样。
括号中的数字并不表示存储空间或存储范围的⼤⼩,⽽是⽤于指定显示宽度,即在显示查询结果时,为了对
⻬和美观,会在数字前⾯补上空格或 0,使得所有数字的显示宽度都相同。因此, int(11) 和 int(21) 在
存储空间和存储范围上没有区别,只是在显示的时候补全 0 的位数不同。
DECIMAL 定点数-更精确的数字类型
经验之谈
存储性别、省份、类型等分类信息时选择TINYINT、char(1)或者ENUM
BIGINT存储空间更⼤,INT和BIGINT之间通常选择BIGINT
交易等⾼精度数据选择使⽤DECIMAL
TEXT与CHAR和VARCHAR****的区别
CHAR和VARCHAR存储单位为字符
TEXT存储单位为字节,总⼤⼩为65535字节,约为64KB
CHAR数据类型最⼤为255字符
VARCHAR数据类型为变⻓存储,可以超过255个字符
TEXT在MySQL内部⼤多存储格式为溢出⻚,效率不如CHAR
字段类型和时区的关系
MySQL****数据对象
MySQL****常⻅的数据对象有哪些**
DataBase/Schema
Table
Index
View/Trigger/Function/Procedure
库、表、⾏层级关系
⼀个DataBase对应⼀个Schema
⼀个Schema包含⼀个或多个表
⼀个表⾥⾯包含⼀个或多个字段
⼀个表⾥包含⼀条或多条记录
⼀个表包含⼀个或多个索引
3.4.3 多DataBase⽤途
业务隔离
资源隔离
3.4.4****表上有哪些常⽤的数据对象
索引
约束
视图、触发器、函数、存储过程
mysql****常⽤特殊命令
\h :显示帮助信息,包括所有可⽤的 MySQL 命令和特殊命令
\c :清除当前输⼊的命令
\q :退出 MySQL 命令⾏⼯具。
\G :将查询结果按列格式化,并以每⾏⼀个字段的⽅式显示。
\t:将查询结果转换为纯⽂本格式。
\n:将查询结果转换为纯⽂本格式,并在每⾏末尾添加换⾏符。
\d:设置语句分隔符
多表查询
交叉连接, 不使⽤任何匹配条件
内连结
外连接
SELECT 字段列表 FROM 表1 LEFT|RIGHT JOIN 表2 ON 表1.字段 = 表2.字段;
左连接和右连结
在实际应用中,选择使用左连接还是右连接取决于您想要如何处理没有匹配记录的情况。如果您想要确保左表的所有记录都能被包含在结果集中,即使右表中没有匹配的记录,您应该使用左连接。如果您想要确保右表的所有记录都能被包含在结果集中,即使左表中没有匹配的记录,您应该使用右连接。
交叉连接, 不使⽤任何匹配
⼦查询
⼦查询是将⼀个查询语句嵌套在另⼀个查询语句中。
内层查询语句的查询结果,可以为外层查询语句提供查询条件。
⼦查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS 等关键字还可以包含⽐较运算符:=
、 !=、> 、<等
代表运算符⼦查询, 查询年龄⼤于等于 25 岁员⼯所在部⻔(查询⽼龄化的部⻔)
⼦查询 EXISTS 关字键字表示存在。在使⽤ EXISTS 关键字时,内层查询语句不返回查询的记录,⽽是返回⼀个真
假值。
#Ture 或 False,当返回 Ture 时,外层查询语句将进⾏查询;当返回值为 False 时,外层查询语句不进⾏查询
你们公司使⽤的mysql版本号?
5.7.3
mysql数据类型有哪些?
数值类型(整数、浮点数、定点数)、字符串类型(字符、文本)、日期和时间类型等。以下是一些常见的数据类型: - 数值类型:TINYINT
、SMALLINT
、MEDIUMINT
、INT
、BIGINT
、FLOAT
、DOUBLE
、DECIMAL
等。 - 字符串类型:CHAR
、VARCHAR
、TINYTEXT
、TEXT
、MEDIUMTEXT
、LONGTEXT
、ENUM
、SET
等。 - 日期和时间类型:DATE
、TIME
、DATETIME
、TIMESTAMP
、YEAR
你会使⽤哪些sql语句?增删改查
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
- 删(DELETE):用于删除数据库中的记录。例如:
sql复制
DELETE FROM table_name WHERE some_condition;
- 改(UPDATE):用于更新数据库中已有的记录。例如:
sql复制
UPDATE table_name SET column1 = value1, column2 = value2 WHERE some_condition;
- 查(SELECT):用于从数据库中检索数据。例如:
sql复制
SELECT column1, column2, ... FROM table_name WHERE some_condition;
标签:语句,存储,数据库,查询,会话,基本操作,该字段
From: https://www.cnblogs.com/zgw03/p/18361838