WHCSRL 技术网

MySQL数据库笔记Day2

基础函数

–1,工具的使用

1,找到.exe程序,双击,输入了密码,点击连接,就可以了
2,创建库: 右键-新建数据库-设置数据库名-选字符集utf8-确定
3,创建表: 右键-创建表-输入字段名字段类型字段长度字段约束-创建表-输入表名-确定
4,添加表里的记录,如下图

在这里插入图片描述

 –2,准备数据

  1. CREATE TABLE dept(
  2. deptno int primary key auto_increment ,
  3. dname VARCHAR(20),
  4. loc VARCHAR(13)
  5. );
  6. INSERT INTO dept VALUES(null,'accounting','一区');
  7. INSERT INTO dept VALUES(null,'research','二区');
  8. INSERT INTO dept VALUES(null,'operations','二区');
  9. CREATE TABLE emp(
  10. empno int primary key auto_increment,
  11. ename VARCHAR(10),
  12. job VARCHAR(10),
  13. mgr int,
  14. hiredate DATE,
  15. sal double,
  16. comm NUMERIC(7,2),
  17. deptno int
  18. );
  19. INSERT INTO emp VALUES(100,'jack','副总',NULL,'2002-05-1',90000,NULL,1);
  20. INSERT INTO emp VALUES(200,'tony','总监',100,'2015-02-02',10000,2000,2);
  21. INSERT INTO emp VALUES(300,'hana','经理',200,'2017-02-02',8000,1000,2);
  22. INSERT INTO emp VALUES(400,'leo','员工',300,'2019-02-22',3000,200.12,2);
  23. INSERT INTO emp VALUES(500,'liu','员工',300,'2019-03-19',3500,200.58,2);

–3, 查询

 

 

 

--upper :转大写

select upper(ename) from emp --数据转大写

  --lower:转小写

SELECT 'ABC',LOWER('ABC') from emp; --数据转小写

  --length:查询长度

select length(ename) from emp --数据的长度

 

-- substr---截取子串

SELECT ename,SUBSTR(ename,1,3) FROM emp; --截取[1,3]

 ---concat:拼接

select ename,concat(ename,'123') X from emp --拼接数据

 ----replace替换

select ename,replace(ename,'a','666')  from emp --把a字符替换成666

--- ifnull 换值 (a,b)-a是字段名b 是换成的值

select ifnull(comm,10) comm from emp #判断,如果comm是null,用10替换

 eg;测试

 ---round & ceil & floor

round四舍五入,ceil向上取整,floor向下取整

 ---round

  ---ceil

  ---floor

 ---now当前 & year年  & month月 & day日

---hour时 & minute分& second秒

-uuid

SELECT UUID()#随机生成一个32位的字符串 

转义字符

作为sql语句符号,内容中出现单撇就会乱套,进行转义即可

条件查询

--- distinct

select ? from 表名#查询部门地址

---where

注意:where中不能使用列别名!!

写法:SELECT 字段名 FROM 表名 WHERE  字段名   = 字段值

  1. select * from emp
  2. select * from emp where 1=1 --类似没条件
  3. select * from emp where 1=0 --条件不成立
  4. select * from emp where empno=100 --唯一条件
  5. select * from emp where ename='tony' and deptno=2 --相当于两个条件的&关系
  6. select * from emp where ename='tony' or deptno=1 --相当于两个条件的|关系
  7. select name, sal from emp where sal=1400 or sal=1600 or sal=1800;
  8. -- 或
  9. select name, sal from emp where sal in(1400,1600,1800);
  10. select name, sal from emp where sal not in(1400,1600,1800);

 

 

#练习3:查询名称是research的部门编号 

#练习4:查询地址在二区编号为3的闭门名称 

 #练习5:查询部门名称是accounting/research的部门地址

 #练习6:查询编号是1 2 3的部门信息

---like 查询(模糊查询)

通配符%%代表0到n个字符,通配符下划线_代表1个字符

句式:

  1. select * from emp where ename like 'l%%' --以l开头的
  2. select * from emp where ename like '%%a' --以a结束的
  3. select * from emp where ename like '%%a%%' --中间包含a的
  4. select * from emp where ename like 'l__' --l后面有两个字符的 _代表一个字符位置

#练习1:查询名字包含a的员工信息

推荐阅读