Mysql基本操作
1.冷门知识
命令行操作:
SELECT NOW()\G -- 以垂直的形式展示数据行
mysql> SELECT NOW()\G
*************************** 1. row ***************************
NOW(): 2018-02-06 17:51:51
1 row in set (0.00 sec)
mysql>
SELECT NOW()\c --放弃此次操作
查看那些客户端链接什么状态:
show processList;
设置查询不走缓存:mysql 8.0版本默认不走缓存;
query_cache_type 设置成:DEMAND
2. 数据类型
2.1 数值类型
类型 | 存储单位 | 无符号 | 有符号 | 含义 |
---|
TINYINT | 1 | 0 ~ 2⁸-1 | -2⁷ ~ 2⁷-1 | 非常小的整数(状态值) |
SMALLINT | 2 | 0 ~ 2¹⁶-1 | -2¹⁵ ~ 2¹⁵-1 | 小的整数 |
MEDIUMINT | 3 | 0 ~ 2²⁴-1 | -2²³ ~ 2²³-1 | 中等 |
INT | 4 | 0 ~ 2³²-1 | -2³¹ ~ 2³¹-1 | 标准 |
BIGINT | 8 | 0 ~ 2⁶⁴-1 | -2⁶³ ~ 2⁶³-1 | 超大(主键) |
2.2 浮点数
类型 | 存储单位 | 绝对值小于非零值 | 绝对值大于非零值 | 含义 |
---|
FLOAT | 4 | ±1.175494351E-38 | ±3.402823466E+38 | 单精度 |
DOUBLE | 8 | ±2.2250738585072014E-308 | ±1.7976931348623157E+308 | 双精度 |
2.3 定点数
类型 | 存储单位 | 取值范围 |
---|
DECIMAL(M, D) | 取决于M和D | 取决于M和D |
2.4 日期类型
类型 | 存储单位 | 取值范围 | 有符号 |
---|
YEAR | 1字节 | 1901~2155 | 年份值 |
DATE | 3字节 | ‘1000-01-01’ ~ ‘9999-12-31’ | 日期值 |
TIME | 3字节+小数秒的存储空间 | ‘-838:59:59[.000000]’ ~ ‘838:59:59[.000000]’ | 时间值 |
DATETIME | 5字节+小数秒的存储空间 | ‘1000-01-01 00:00:00[.000000]’ ~ ‘9999-12-31 23:59:59’[.999999] | 日期加时间值 |
TIMESTAMP | 4字节+小数秒的存储空间 | ‘1970-01-01 00:00:01[.000000]’ ~ ‘2038-01-19 03:14:07’[.999999] | 时间戳 |
2.5 字符串类型
类型 | 最大长度 | 存储要求 | 有符号 |
---|
CHAR(M) | M个字符 | M×W个字节 | 固定长度的字符串 |
VARCHAR(M) | M个字符 | L+1 或 L+2 个字节 | 可变长度的字符串 |
TINYTEXT | 2⁸-1 个字节 | L+1个字节 | 非常小型的字符串 |
TEXT | 2¹⁶-1 个字节 | L+2 个字节 | 小型的字符串 |
MEDIUMTEXT | 2²⁴-1 个字节 | L+3 个字节 | 中等大小的字符串 |
LONGTEXT | 2³²-1 个字节 | L+4 个字节 | 大型的字符串 |
2.6 二进制类型
类型 | 字节数 | 含义 |
---|
BIT(M) | 近似为(M+7)/8 | 存储M个bit位的值 |
3.数据基本操作
SHOW DATABASES;
CREATE DATABASE IF NOT EXISTS 数据库名;
USE 数据库名称;
mysql -h 主机名 -u 用户名 -p 密码
DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名称;
4.表的基本操作
SHOW TABLES;
CREATE TABLE 表名 (
列名1 数据类型 [列的属性],
列名2 数据类型 [列的属性],
...
列名n 数据类型 [列的属性]
) comment '表的注释信息';
CREATE TABLE IF NOT EXISTS 表名( --怕有重复的表名称加上校验
各个列的信息 ...
);
DROP TABLE 表1,表2,表3;
DROP TABLE IF EXISTS 表名;
DESC 表名;
SHOW CREATE TABLE 表名;
方式1:
ALTER TABLE 旧表名 RENAME TO 新表名;
方式2:
RENAME TABLE 旧表名1 TO 新表名1, 旧表名2 TO 新表名2, ... 旧表名n TO 新表名n;
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [列的属性];
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] FIRST;
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] AFTER 指定列名;
ALTER TABLE 表名 DROP COLUMN 列名;
方式1:
ALTER TABLE 表名 MODIFY 列名 新数据类型 [新属性];
方式2:
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新属性];
结语
对于Mysql有一个简单的总结,常用有些SQL语法操作,方便记录一下,以后如果对于索引,事务有更好理解,再单独开一下总结记录一下.
关于我
Hello,我是球小爷,热爱生活,求学七年,工作三载,而今已快入而立之年,如果您觉得对您有帮助那就一切都有价值,赠人玫瑰,手有余香❤️. 最后把我最真挚的祝福送给您及其家人,愿众生一生喜悦,一世安康!