MySQL数据库笔记Day2
基础函数
–1,工具的使用
1,找到.exe程序,双击,输入了密码,点击连接,就可以了
2,创建库: 右键-新建数据库-设置数据库名-选字符集utf8-确定
3,创建表: 右键-创建表-输入字段名字段类型字段长度字段约束-创建表-输入表名-确定
4,添加表里的记录,如下图
–2,准备数据
- CREATE TABLE dept(
- deptno int primary key auto_increment ,
- dname VARCHAR(20),
- loc VARCHAR(13)
- );
- INSERT INTO dept VALUES(null,'accounting','一区');
- INSERT INTO dept VALUES(null,'research','二区');
- INSERT INTO dept VALUES(null,'operations','二区');
- CREATE TABLE emp(
- empno int primary key auto_increment,
- ename VARCHAR(10),
- job VARCHAR(10),
- mgr int,
- hiredate DATE,
- sal double,
- comm NUMERIC(7,2),
- deptno int
- );
- INSERT INTO emp VALUES(100,'jack','副总',NULL,'2002-05-1',90000,NULL,1);
- INSERT INTO emp VALUES(200,'tony','总监',100,'2015-02-02',10000,2000,2);
- INSERT INTO emp VALUES(300,'hana','经理',200,'2017-02-02',8000,1000,2);
- INSERT INTO emp VALUES(400,'leo','员工',300,'2019-02-22',3000,200.12,2);
- 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 字段名 = 字段值
- select * from emp
-
- select * from emp where 1=1 --类似没条件
-
- select * from emp where 1=0 --条件不成立
-
- select * from emp where empno=100 --唯一条件
-
- select * from emp where ename='tony' and deptno=2 --相当于两个条件的&关系
-
- select * from emp where ename='tony' or deptno=1 --相当于两个条件的|关系
-
- select name, sal from emp where sal=1400 or sal=1600 or sal=1800;
-
- -- 或
-
- select name, sal from emp where sal in(1400,1600,1800);
-
- 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个字符
句式:
- select * from emp where ename like 'l%%' --以l开头的
-
- select * from emp where ename like '%%a' --以a结束的
-
- select * from emp where ename like '%%a%%' --中间包含a的
-
- select * from emp where ename like 'l__' --l后面有两个字符的 _代表一个字符位置
#练习1:查询名字包含a的员工信息
推荐阅读