MySQL全面介绍

常用命令

登录MySQL

mysql -u username -p

开启/关闭MySQL服务

service mysql start/stop

查看MySQL的状态

service mysql status

显示所有数据库

show databses

获取表内所有字段对象的名称和类型

describe table _name;

SQL分类

DDL:数据定义语言,create、drop、alter 等

DML:数据操纵语句,insert、delete、update 和 select 等

DCL(少用):数据控制语句,grant、revoke 等

数据类型

整数类型

类型字节最小值最大值
TINYINT1

有符号-128

无符号0

有符号127

无符号255

SMALLINT2

有符号-32758

无符号0

有符号32767

无符号65535

MEDIUMINT3

有符号-8388608

无符号0

有符号8388607

无符号1677215

INT、INTEGER4

有符号-2147483648

无符号0

有符号2147483647

无符号4294967295

BIGINT8

有符号-9223372036854775808

无符号0

有符号9223372036854775807

无符号18446744073709551615

浮点数类型

类型字节最小值最大值
FLOAT4±1.175494351E-38±3.402823466E+38
DOUBLE8±2.2250738585072014E-308

±1.7976931348623157E+308

 定点数

类型字节描述

DEC(M,D),DECIMAL(M,D)

M+2

最大取值范围与DOUBLE相同,给定DECIMAL的有效范围由M和D决定

 位类型

类型字节最小值最大值

BIT(M)

1~8

BIT(1)BIT(64)

 日期时间类型

类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻

TIME

3-838:59:59828:59:59
YEAR119012155

字符串类型

类型描述
CHAR(M)M为0~255之间的整数
VARCHAR(M)M为0~65535之间的整数,值的长度+1个字节
TINYBLOB允许长度0~255字节,值的长度+1个字节
BLOB允许长度0~65535字节,值的长度+2个字节
MEDIUMBLOB

允许长度0~167772150字节,值的长度+3个字节

LONGBLOB

允许长度0~4294967285字节,值的长度+4个字节

TINYTEXT允许长度0~255字节,值的长度+12字节
TEXT允许长度0~65535字节,值的长度+2个字节
MEDIUMTEXT允许长度0~167772150字节,值的长度+3个字节
LONGTEXT允许长度0~4294967295字节,值的长度+4个字节
VARBINARY(M)允许长度0~M个字的变长字节字符串,值的长度+1个字节
BINARY(M)允许长度0~M字节的定长字节字符串

MySQL数据类型的选择和优化案例

  1. 使用BIGINT替代CHAR或者VARCHAR存放手机号码
  2. IP地址使用INT存储(INET_ATON()将IP地址转化为数字,INET_NTOA()将数字转化为IP地址)
  3. 使用TINYINT来替代ENUM类型
  4. 使用VARBINARY存储大小写敏感的变长字符串或二进制内容

运算符

算术运算符

运算符作用
+加法
-减法
*乘法
/,DIV除法,返回商
%,MOD除法,返回余数

比较运算符

运算符作用
=等于
<>或!=不等于
<=>NULL安全的等于(NULL-safe)
<小于
<=小于等于
>大于
>=大于等于
BETWEEN存在于指定范围
IN存在于指定集合
IS NULL为NULL
IS NOT NULL不为NULL
LIKE通配符匹配
REGEXP或RLIKE正则表达式匹配

MySQL常用函数

字符串函数

函数功能
CANCAT(S1,S2,...Sn)连接S1,S2,...Sn为一个字符串
INSERT(str,x,y,instr)将字符串str从第x位置开始,y个字符长的子串替换为字符串instr
LOWER(str)将字符串str中所有字符变为小写
UPPER(str)将字符串str中所有字符变为大写
LEFT(str,x)返回字符串str最左边的x个字符
RIGHT(str,x)完成字符串str最右边的x个字符
LPAD(str,n,pad)用字符串pad对str最左边进行填充,直到长度为n个字符长度
RPAD(str,n,pad)用字符串pad对str最右边进行填充,直到长度为n个字符串长度
LERIM(str)去掉字符串str左侧的空格
RTRIM(str)去掉字符串str右侧的空格
REPEAT(str,x)返回str重复x次的结果
REPLACE(str,a,b)用字符串b替换字符串str中所有出现的字符串a
STRCMP(s1,s2)比较字符串s1和s2
TRIM(str)去掉字符串行尾的行头的空格
SUBSTRING(str,x,y)返回从字符串str x位置起y个字符长度的字串

数值函数

函数功能
ABS(x)返回x的绝对值
CEIL(x)返回大于x的最大整数值
FLOOR(x)返回小于x的最大整数值
MOD(x,y)返回x/y的模
RAND()返回0到1内的随机数
ROUND(x,y)返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y)返回数字x截断为y位小数的结果

日期和时间函数

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前的日期和时间
UNIX_TIMESTAMP(date)返回日期date的UNIX时间戳
FROM_UNIXTIME

返回UNIX时时间戳的日期值

WEEK(date)返回日期date为一年中的第几周
YEAR(date)返回日期date的年份
HOUR(time)返回time的小时值
MINUTE(time)返回time的分钟值
MONTHNAME(date)返回date的月份名
DATE_FORMAT(date,fmt)返回按字符串fmt格式化日期date值
DATE_ADD(date,INTERVAL expr type)返回一个日期或时间值加上一个时间间隔的时间值
DATEDIFF(expr,expr2)返回起始时间expr和结束时间expr2之间的天数

MySQL状态命令

查看状态

show status

刷选状态显示

show global status like 'Max_used_connections';

查看可设置的变量

show variables\G;

查看最大的连接

show variables like '%max_con%';

查看进程的连接

show full processlist;

sql执行性能分析命令

explain

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值