三.MySQL常用函数
文本函数
函数 |
用法 |
描述 |
CONCAT() |
CONCAT(x,y,...) |
创建形如xy的新字符串 |
LENGTH() |
LENGTH(column) |
返回列中储存的值的长度 |
LEFT() |
LEFT(column,x) |
从列的值中返回最左边的x个字符 |
RIGHT() |
RIGHT(column,x) |
从列的值中返回最右边的x个字符 |
TRIM() |
TRIM(column) |
从存储的值删除开头和结尾的空格 |
UPPER() |
UPPER(column) |
把存储的字符串全部大写 |
LOWER() |
LOWER(column) |
把存储的字符串全部小写 |
SUBSTRING() |
SUBSTRING(column, start, length) |
从column中返回开始start的length个字符(索引从0开始) |
MD5() |
MD5(column) |
把储存的字符串用MD5加密 |
SHA() |
SHA(column) |
把存储的字符串用SHA加密 |
数字函数
函数 |
用法 |
描述 |
ABS() |
ABS(x) |
返回x的绝对值 |
CEILING() |
CEILING(x) |
返回x的值的最大整数 |
FLOOR() |
FLOOR(x) |
返回x的整数 |
ROUND() |
ROUND(x) |
返回x的四舍五入整数 |
MOD() |
MOD(x) |
返回x的余数 |
RNAD() |
RNAD() |
返回0-1.0之间随机数 |
FORMAT() |
FORMAT(x,y) |
返回一个格式化后的小数 |
SIGN() |
SIGN(x) |
返回一个值,正数(+1),0,负数(-1) |
SQRT() |
SQRT(x) |
返回x的平方根 |
日期和时间函数
函数 |
用法 |
描述 |
HOUR() |
HOUR(column) |
只返回储存日期的小时值 |
MINUTE() |
MINUTE(column) |
只返回储存日期的分钟值 |
SECOND() |
SECOND(column) |
只返回储存日期的秒值 |
DAYNAME() |
DAYNAME(column) |
返回日期值中天的名称 |
DAYOFMONTH() |
DAYOFMONTH(column) |
返回日期值中当月第几天 |
MONTHNAME() |
MONTHNAME(column) |
返回日期值中月份的名称 |
MONTH() |
MONTH(column) |
返回日期值中月份的数字值 |
YEAR() |
YEAR(column) |
返回日期值中年份的数字值 |
CURDATE() |
CURDATE() |
返回当前日期 |
CURTIME() |
CURTIME() |
返回当前时间 |
NOW() |
NOW() |
返回当前时间和日期 |
格式化日期和时间(DATE_FORMAT()和TIME_FORMAT())
名词 |
用法 |
示例 |
%e |
一月中的某天 |
1~31 |
%d |
一月中的某天,两位 |
01~31 |
%D |
带后缀的天 |
1st~31st |
%W |
周日名称 |
Sunday~Saturday |
%a |
简写的周日名称 |
Sun-Sat |
%c |
月份编号 |
1~12 |
%m |
月份编号,两位 |
01~12 |
%M |
月份名称 |
January~December |
%b |
简写的月份名称 |
Jan~Dec |
%Y |
年份 |
2002 |
%y |
年份,两位 |
02 |
%l |
小时 |
1~12 |
%h |
小时,两位 |
01~12 |
%k |
小时,24小时制 |
0~23 |
%H |
小时,24小制度,两位 |
00~23 |
%i |
分钟 |
00~59 |
%S |
秒 |
00~59 |
%r |
时间 |
8:17:02 PM |
%T |
时间,24小时制 |
20:17:02 PM |
%p |
上午或下午 |
AM或PM |
四.SQL语句详解
1.创建一个班级数据库school,里面包含一张班级表grade,包含编号(id)、姓名(name)、邮件(email)、评分(point)、注册日期(regdate)。
mysql>CREATE DATABASE school; //创建一个数据库
mysql> CREATE TABLE grade (
//UNSIGNED表示无符号,TINYINT(2) 无符号整数0-99,NOT NULL表示不能为空,AUTO_INCREMENT表示从1开始没增加一个字段,累计一位
-> id TINYINT(2) UNSIGNED NOT NULL AUTO_INCREMENT,
-> name VARCHAR(20) NOT NULL,
-> email VARCHAR(40),
-> point TINYINT(3) UNSIGNED NOT NULL,
-> regdate DATETIME NOT NULL,
-> PRIMARY KEY (id) //表示id为主键,让id值唯一,不得重复。
-> );
2.给这个班级表 grade新增5-10条学员记录
mysql> INSERT INTO grade (name,email,point,regdate) VALUES
('Lee','[email protected]',95,NOW());
3.查看班级所有字段的记录,查看班级id,name,email的记录
mysql> SELECT * FROM grade;
mysql> SELECT id,name,email FROM grade;
WHERE表达式的常用运算符
MYSQL运算符 |
含义 |
= |
等于 |
< |
小于 |
> |
大于 |
<= |
小于或等于 |
>= |
大于或等于 |
!= |
不等于 |
IS NOT NULL |
具有一个值 |
IS NULL |
没有值 |
BETWEEN |
在范围内 |
NOT BETWEEN |
不在范围内 |
IN |
指定的范围 |
OR |
两个条件语句之一为真 |
AND |
两个条件语句都为真 |
NOT |
条件语句不为真 |
4.姓名等于'Lee'的学员,成绩大于90分的学员,邮件不为空的成员,70-90之间的成员
mysql> SELECT * FROM grade WHERE name='Lee';
mysql> SELECT * FROM grade WHERE point>90;
mysql> SELECT * FROM grade WHERE email IS NOT NULL;
mysql> SELECT * FROM grade WHERE point BETWEEN 70 AND 90;
mysql> SELECT * FROM grade WHERE point IN (95,82,78);
5.查找邮件使用163的学员,不包含yc60.com字符串的学员
mysql> SELECT * FROM grade WHERE email LIKE '%163.com';
mysql> SELECT * FROM grade WHERE email NOT LIKE '%yc60.com%';
6.按照学员注册日期的倒序排序,按照分数的正序排序
mysql> SELECT * FROM grade ORDER BY regdate DESC;
mysql> SELECT * FROM grade ORDER BY point ASC;
7.只显示前三条学员的数据,从第3条数据开始显示2条
mysql> SELECT * FROM grade LIMIT 3;
mysql> SELECT * FROM grade LIMIT 2,2;
8.修改姓名为'Lee'的电子邮件
mysql> UPDATE grade SET email='[email protected]' WHERE name='Lee';
9.删除编号为4的学员数据
mysql> DELETE FROM grade WHERE id=4;
MYSQL分组函数
函数 |
用法 |
描述 |
AVG() |
AVG(column) |
返回列的平均值 |
COUNT() |
COUNT(column) |
统计行数 |
MAX() |
MAX(column) |
求列中的最大值 |
MIN() |
MIN(column) |
求列中的最小值 |
SUM() |
SUM(column) |
求列中的和 |
10.过一遍以上的分组函数
略。
11.检查这个表的信息
mysql> SHOW TABLE STATUS \G;
12.优化一张表
mysql> OPTIMIZE TABLE grade;
五.PhpMyAdmin
phpMyAdmin(简称PMA)是一个用PHP编写的,可以通过互联网在线控制和操作MySQL。他是众多MySQL管理员和网站管理员的首选数据库维护工具,通过phpMyAdmin可以完全对MySQL数据库进行操作。
创建数据库scholl
创建一个数据库->选择utf8字符集
导出另一个数据库SQL
1.选择另一个数据库->导出
2.选择需要导出的表->全选
3.选择Add DROP TABLE / DROP VIEW (基本表一旦删除,表中的数据以及相应建立的索引和视图都将自动被删除)
4.选择另存为文件
5.选择执行,保存sql文件
导入数据库
1.选择被导入的数据库
2.选择Import(导入),选择sql文件
3.执行即可
删除表
1.可以直接选择操作中的,然后确认即可删除数据表.
2.也可以选择复选按钮,然后选择选中项:,选择删除,执行即可
重建表
1.找到sql文件中的刚才输出的建表语句.
2.复制建表语句
3.然后选择sql,选择粘贴,执行即可
修复数据表
1.选择要修复的表
2.在选中项中,选择修复表,即可
优化数据表
1.选择要优化的表
2.在选中项中,选择优化表,即可
修改,删除,插入表记录
执行SQL语句