MySQL学习笔记——20170811
来源:互联网 发布:淘宝名字怎么改昵称 编辑:程序博客网 时间:2024/06/05 08:14
部分函数
- LTRIM() -> 去除左边空格 RTRIM() 去除右边空格
- ROUND() -> 四舍五入
- LENGTH() -> 获取字符串长度
- UPPER() -> 大写显示 LOWER 小写显示
- REPLACE(‘hello’,’h’,’w’) -> 替换
- INSERT(,,,)
- INSTR(‘hello’,’e’) -> 返回e在hello中的位置 2
- CONVERT(value,type) -> 类型转换
- LEFT(‘hello’,1) RIGHT()
- SQRT(16) -> 取16的平方根
- ABS() -> 绝对值
- DAYNAME() 星期几 DAYOFMONTH() 一月中的第几天 DAYOFWEEK() DAYOFYEAR()
- YEAR() MONTH()
- DATE_ADD(‘1990-01-01’, INTERVAL 1 DAY) -> 添加1天
练习
CREATE TABLE employees ( EmployeeID int(6) PRIMARY KEY NOT NULL, eName char(10) NOT NULL, Education char(4) NOT NULL, Gender char(2) NOT NULL DEFAULT '', Workyear int(11) DEFAULT NULL, dpart_id int(3) NOT NULL, tel varchar(10), eBirth date) ENGINE=InnoDB CHARSET=utf8;INSERT INTO employees VALUES ('1', '张三', '专科', '男', '2', '1','023-12315','1992-01-01');INSERT INTO employees VALUES ('2', '李四', '本科', '男', '1', '1','023-23445','1995-02-02');INSERT INTO employees VALUES ('3', '王五', '高中', '男', '3', '1','023-22423','1993-02-15');INSERT INTO employees VALUES ('4', '李强', '专科', '男', '3', '5','023-24254','1982-11-25');INSERT INTO employees VALUES ('5', '将干', '专科', '男', '1', '5','023-13134','1998-11-03');INSERT INTO employees VALUES ('6', '项棋', '本科', '女', '4', '2','023-52435','1992-12-18');INSERT INTO employees VALUES ('7', '安和', '研究生', '女', '3', '3','023-46352','1999-03-19');INSERT INTO employees VALUES ('8', '动力', '研究生', '女', '4', '4','023-23456','1994-04-17');INSERT INTO employees VALUES ('9', '李安', '本科', '男', '8', '3','023-12345','1993-07-16');INSERT INTO employees VALUES ('10', '向前看', '高中', '男', '0', '5','023-42567','1991-08-25');INSERT INTO employees VALUES ('11', '万精油', '高中', '男', '1', '4','023-24986','1991-09-22');INSERT INTO employees VALUES ('12', '高琪琪', '研究生', '女', '2', '1','023-23561','1992-12-25');INSERT INTO employees VALUES ('13', '李珊珊', '本科', '女', '4', '2','023-23567','1995-11-20');INSERT INTO employees VALUES ('14', '张安', '本科', '男', '2', '3','023-33345','1997-04-05');INSERT INTO employees VALUES ('15', '李六', '本科', '男', '10', '3','023-23256','1997-05-05');INSERT INTO employees VALUES ('16', '余四', '高中', '女', '1', '5','023-23568','1998-06-05');INSERT INTO employees VALUES ('17', '周悦', '本科', '女', '2', '3','023-32566','1991-07-19');INSERT INTO employees VALUES ('18', '周大七', '本科', '男', '2', '2','023-65324','1982-12-18');INSERT INTO employees VALUES ('19', '牌牌琦', '研究生', '女', '5', '2','023-32152','1992-01-17');INSERT INTO employees VALUES ('20', 'Tom', '本科', '男', '1', '1','023-77777','1995-01-05');INSERT INTO employees VALUES ('21', 'Mike', '研究生', '男', '4', '2','023-88888','1982-03-04');INSERT INTO employees VALUES ('22', 'Angela', '本科', '女', '1', '3','023-22222','1992-04-13');INSERT INTO employees VALUES ('23', 'An Penny', '本科', '女', '2', '3','023-33333','1996-04-05');INSERT INTO employees VALUES ('24', '安佩妮', '研究生', '女', '3', '3','023-44444','1998-05-12');INSERT INTO employees VALUES ('25', '周安安', '研究生', '女', '5', '2','023-66666','1998-05-11');-- 1、查询员工信息,查询结果要求每个员工的'姓'都用‘e’代替 SELECT EmployeeID,INSERT(eName,1,1,'e'),Education,Gender,Workyear,dpart_id,tel,eBirthFROM employees;-- 2、查询名叫An Penny的员工,‘n’这个字符在她的名字里总共出现了几次SELECT eName,LENGTH(eName)-LENGTH(REPLACE(eName,'n',''))FROM employeesWHERE eName = 'An Penny';-- 3、查询所有员工的姓名,要求姓名里包含‘三’,‘四’,‘五’几个字的去掉;如:张三,则输出张SELECT REPLACE(REPLACE(REPLACE(eName,'三',''),'四',''),'五','')FROM employees;-- 3、查询员工电话号码,要求结果电话号码去除‘-’ SELECT REPLACE(tel,'-','')FROM employees;-- 4、查询员工电话号码,将区号和电话号码分别两列显示SELECT LEFT(tel,INSTR(tel,'-')-1),RIGHT(tel,LENGTH(tel)-INSTR(tel,'-'))FROM employees;-- 5、统计6月份出生的有多少人SELECT COUNT(EmployeeID)FROM employeesWHERE MONTH(eBirth)=6;-- 6、查询星期三出生员工信息SELECT *FROM employeesWHERE DAYNAME(eBirth)='Wednesday';-- 7、查询员工入职不超过1年的员工SELECT *FROM employees WHERE Workyear<1;-- 8、查询在周五出生的员工SELECT *FROM employeesWHERE DAYNAME(eBirth)='Friday';-- 9、将员工张三的出生日期分别按‘年’‘月’‘日’三列输出SELECT eName,YEAR(eBirth) '年',MONTH(eBirth) '月',DAY(eBirth) '日'FROM employeesWHERE eName='张三';-- 10、根据员工张三的出生日期,查询2个月后的时间SELECT DATE_ADD(eBirth, INTERVAL 2 MONTH)FROM employeesWHERE eName='张三';
多表查询
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- CROSS JOIN
- UNION
SELECT a.*,b.* FROM joinTest a RIGHT JOIN joinTest b on a.id=b.id;
正则表达式
例子:
SELECT name FROM person WHERE name REGEXP '^张'; -- 查询以'张'开头的SELECT name FROM person WHERE name REGEXP '张$'; -- 查询以'张'结尾的SELECT name FROM person WHERE name REGEXP '[a-zA-Z]'; -- 查询包含英文字母的
阅读全文
0 0
- MySQL学习笔记——20170811
- 学习笔记——MySQL
- MySQL学习笔记—视图
- MySQL学习笔记——FAQ
- PHP学习笔记——MySql 查询
- MySQL学习笔记——字符集
- mysql学习笔记——显示&插入
- MySQL学习笔记——基本操作
- MySql学习笔记——常用操作
- <34>python学习笔记——mysql
- Mysql学习笔记十二——数据类型
- Mysql学习笔记十六——视图
- MySQL学习笔记——20170808
- MySQL学习笔记——20170809
- MySQL学习笔记——20170810
- MySQL学习笔记——20170812
- MySQL学习笔记——慢查询
- 49.笔记 MySQL学习——事务处理
- stm32成长记之LED呼吸灯
- websocket:如何建立在同一台client和同一台server创建多个连接
- Bellman_ford 求最短路模板
- 工作中小细节总结(三)
- Spring AOP---切面编程基础(动态代理)
- MySQL学习笔记——20170811
- Codeforces Round #428 (Div. 2) Game of the Rows (思维)
- Java基础总结-基本语法概念-1
- LeetCode: 66. Plus One
- C/C++指针错误与调试相关学习总结
- Linux命令:pwd,切换用户,切换宿主目录,.,..,-,相对路径绝对路径
- Linux下编程求绝对路径和读取目录
- js显示动态时间的方法
- 活了这么久,突然感觉像白开水