mysql学习
- 一为主,多为从
- 中间表:一个多对多关系拆成两个一对多关系
select *from students where photo is null or photo =’’;
- 字符串:
select *from students where stuname like ‘%s%’;
not like 也可以
通配符模糊匹配
MySQL常用函数集锦
-
统计函数
- count();函数对空是不统计的,空的列不参与统计的,写成数字,全部统计,写列名,空是不统计的
- sum()
- min()
- max()
-
字符串函数
-
CHAR_LENGTH(s) 返回字符串字符数
-
concat() 连接字符串
-
- concat很实用
-
定位locate(s1,s):从字符串 s 中获取 s1 的开始位置
-
插入INSERT(s1,x,len,s2):字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
-
LCASE(s) 将字符串 s 的所有字母变成小写字母
-
upper(s) 将字符串s的所有字母变成大写字母
-
LEFT(s,n) 返回字符串 s 的前 n 个字符
-
RIGHT(s,n)返回字符串s的后n个字符
-
LPAD(s1,len,s2) 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
-
RPAD(s1,len,s2) 在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
-
LTRIM(s) :去掉字符串 s 开始处的空格
-
RTRIM(s):去掉字符串 s 结尾处的空格
-
MID(s,n,len) :从字符串 s 的 start 位置截取长度为 length 的子字符串,同 SUBSTRING(s,n,len)
-
REPEAT(s,n) :将字符串 s 重复 n 次
-
REPLACE(s,s1,s2):将字符串 s2 替代字符串 s 中的字符串 s1
-
REVERSE(s):将字符串s的顺序反过来
-
SUBSTRING(s, start, length) :从字符串 s 的 start 位置截取长度为 length 的子字符串
-
-
数字函数
- CEIL(x) 返回大于或等于 x 的最小整数
- FLOOR(x) 返回小于或等于 x 的最大整数
- RAND() :返回 0 到 1 的随机数
- ROUND(x) 返回离 x 最近的整数
- TRUNCATE(x,y) 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)
-
日期函数
- ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期
- CURRENT_DATE() 返回当前日期
- DATEDIFF(d1,d2) 计算日期 d1->d2 之间相隔的天数
- EXTRACT(type FROM d) 从日期 d 中获取指定的值,type 指定返回的值。
-
mysql高级函数
-
CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE result END
-
IFNULL(v1,v2) 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
-
LAST_INSERT_ID() 返回最近生成的 AUTO_INCREMENT 值
-
MySql导出数据库
- 操作在控制台上
- mysqldump -hlocallost -uroot -pok test>student.sql