本机访问: MySQL -uroot -proot
访问远程:MySQL -hlocalhost(主机名) -P3306 (端口号)-uroot -proot
基础
Desc 表名查看信息
#是单行注释
– 单行注释
DDL数据定义语言 :create drop
DML数据操作语言 :update
DCL数据控制语言 : 事务控制语言
DQL数据查询语言 :用来查询记录
快捷键 F12对齐
查询函数 select databases();
起别名:1.使用as :select user()as‘用户’
2.使用空格 select user() ‘用户’
查询两个拼接成一个:使用concat拼接函数:
Select concat(first_name,last_name)as “姓名” from employee
使用distinct函数:
select distinct department_id from employee
查看表的结构(两种方法):
DESC employee;
Show columns from employee
判断字段是否为null:
select IFNULL(commission_pet,’空’) from employee
1.可能为null的字段
2.如果一为空,用二代替。
通配符:_任意单个字符 %任意多个字符
设置转义字符不止可以使用’\’ 还可以使用escape关键字
Select * from employee where last_name like ‘a%’ ESCAPE ‘a’;
= 只能判断普通内容
IS 只能判断NULL
<=> 安全等于 既能判断普通又能判断NULL
Mysql 中’+'的作用
1.加法运算
2.其中一个操作数为字符型 将字符型数据强制转换就数值型,转换不了,当成0 ’张无忌’+100->100
3.其中一个操作数为null:null+null->null null+100->null
JAVA中“+”的作用 运算 拼接符
函数
函数相当于JAVA中的方法
常见函数:
1.字符函数
Concat拼接字符
Select Concat(A+B+C) from D
Length获取字节长度
Select length(‘hello,你好’)–>12
Char_length获取字符长度
Select Char_length(‘hello,你好’)–>8
Substring截取子串
Select substring(‘张三丰爱上了郭襄’,1,3)
1是因为sql中索引从1开始
3代表截取字符长度
Insert获取字符第一次出现的索引
Select insert(‘妙恋小洋人ssss小洋人’,’小洋人’)
Trim去前后指定字符,默认空格
Select trim(‘ 续 住 ’)as a
Select trim(‘x’from‘xxxxxxx续xxx住xxxxx’)as a
LPAD/RPAD左填充/右填充
Select LPAD(‘木婉清’,10,’a’)
UPPER/LOWER 大写小写
STRCMP 比较两个字符的大小
Select strcmp(‘abc’,’aaa’)
LEFT/RIGHT截取子串
Select LEFT(‘鸠摩智’,1)
2.数学函数
ABS取绝对值
CELL向上取整 返回值>=该参数的最小整数
FLOOR向下取整 返回值<=该参数的最小整数
ROUND四舍五入
SELECT ROUND(1.2343,2); 保留两位
TRUNCATE截断 保留小数点后面的位数
SELECT TRUNCATE(1.12345,0); —> 1
MOD取余
SELECT MOD(10,3)
3.日期函数
NOW获取当前时间
CURDATE 获取当前日期
CURTIME 获取当前时间
DATEDIFF获取日期差 前面减去后面
DATE_FORMAT将日期转换成指定格式的字符串
SELECT DATE_FORMAT(‘1998-7-16’,’%Y年%m月%d日 %h小时%i分钟%s秒’)
STR_TO_DATE按指定格式将字符串解析为日期
SELECT STR_TO_DATE(‘7/15 1998’,’%m/%d %Y’);
4.流程控制函数
IF函数
SELECT IF(commission_pct IS NULL,‘无奖金’,salary12commission_pct)
FROM employees
CASE函数
情况1:等值判断
Case 表达式
When 值1 then 结果1
When 值2 then 结果2
…
ELSE 结果n
END
SELECT
Case department_id
When 30 then salary2
When 50 then salary3
ELSE salary
END newsalary
FROM employees
情况2:类似于多重IF语句实现区间判断
Case
When 值1 then 结果1
When 值2 then 结果2
…
ELSE 结果n
END
分组函数
将一组函数进行统计计算,最终得到一个值
Sum(字段名)
AVG(字段名)
MAX(字段名)
MIN(字段名)
COUNT(字段名) 计算非空字段的个数