cgb2107-day02 比眉伴天荒 2021-09-11 03:30 205阅读 0赞 ### 文章目录 ### * * 一,字段约束 * * \--1,概述 * \--2,测试 * 二,函数 * * \--1,概述 * \--2,测试 * 三,条件查询 * * \--1,测试 ## 一,字段约束 ## QQ: 2250432165 ### –1,概述 ### 当表里的字段值想要添加约束条件时,就可以使用各种字段约束 常见的有: 主键约束 非空约束 唯一约束 通常,在创建表时已经确定了,哪些字段要添加哪种约束 ### –2,测试 ### #字段约束 #1.主键约束:给字段添加主键约束时,字段的值必须唯一且非空 #自增策略:AUTO_INCREMENT把主键的值交给数据库维护,值是自增 CREATE TABLE a(id INT) CREATE TABLE b(id INT PRIMARY KEY)#主键(唯一+非空) CREATE TABLE c(id INT PRIMARY KEY AUTO_INCREMENT)#主键且自增 #2.非空约束:not null,给字段加了非空约束,字段值不能为空 CREATE TABLE d(NAME VARCHAR(10)) CREATE TABLE e(NAME VARCHAR(10) NOT NULL) INSERT INTO e VALUES()#报错,必须有值 INSERT INTO e VALUES(NULL)#报错,必须有值 #3.唯一约束:unique,给字段添加唯一约束,字段的值不能相同 CREATE TABLE f(tel VARCHAR(11)) CREATE TABLE g(tel VARCHAR(11) UNIQUE ) ## 二,函数 ## ### –1,概述 ### 为了方便的操作数据库里的数据 , MySQL提供了很多函数. 常见的有: lower upper length substr concat replace 日期函数 小数的函数 ### –2,测试 ### SELECT * FROM emp#查所有列,低效 SELECT ename FROM emp#查指定的列(把*换成字段名),高效 SELECT ename,empno FROM emp#查询结果和查询顺序一样的 #基础函数: #lower:全转小写 upper:全转大写 SELECT ename,empno,LOWER(ename),UPPER(ename) FROM emp #length:获取长度,一个字母或数字长度为1,一个汉字长度是3 SELECT * FROM dept SELECT dname,LENGTH(dname),loc,LENGTH(loc) FROM dept#查部门名称 #concat:拼接字符串,第一个参数是字段名,后面的参数都是要拼接的数据 SELECT dname,CONCAT(dname,'hello') FROM dept SELECT dname,CONCAT(dname,'hello',123,789) FROM dept #substr(1,2):截取字符串,1是字段名,2是从哪个字符开始 SELECT dname,SUBSTR(dname,3) FROM dept #substr(1,2,3):1是字段名,2是从哪个字符开始,3是截取长度 SELECT dname,SUBSTR(dname,5,3) FROM dept #replace(1,2,3):1是字段名,是要把2换成3 SELECT dname,REPLACE(dname,'a','666') FROM dept #ifnull(1,2):1是字段名,判断1如果是null就换成2 SELECT comm,IFNULL(comm,200) FROM emp SELECT * FROM emp #计算月薪 SELECT sal,comm,sal+IFNULL(comm,0) FROM emp SELECT sal,comm,sal+IFNULL(comm,0),sal*12+IFNULL(comm,0)*12 FROM emp #round四舍五入, ceil向上取整 , floor向下取整 SELECT comm,ROUND(comm),CEIL(comm),FLOOR(comm) FROM emp #日期函数 now当前时间 #year年 month月 day日 hour时 minute分 second秒 SELECT NOW()#2021-08-26 15:39:18 SELECT YEAR( NOW() ) SELECT YEAR('2020-08-26'),MONTH(NOW()),DAY(NOW()) SELECT HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()) #转义符号\ SELECT 'xi\'an' SELECT "xi'an" ## 三,条件查询 ## ### –1,测试 ### #条件查询 #1. distinct 去重 SELECT DISTINCT loc FROM dept SELECT * FROM dept #2. where条件 #查询deptno=1的部门信息 SELECT * FROM dept WHERE deptno=1 #查询deptno=2的部门名称 SELECT dname FROM dept WHERE deptno=2 #查询地址在二区的部门名称 SELECT dname FROM dept WHERE loc='二区' #多个条件可以用and 或者 or连接 #查询地址在二区,编号是2的部门信息 SELECT * FROM dept WHERE loc='二区' OR deptno=2 #查询编号是2的或者编号是3的 部门信息 SELECT * FROM dept WHERE deptno=2 OR deptno=3 SELECT * FROM dept WHERE deptno IN(2,3)#同上等效 #3. like模糊查询 #%通配符,通配了0~n个字符,_通配符,通配了1个字符 #查名称里包含o的部门信息 SELECT * FROM dept WHERE dname LIKE '%o%'#低效 SELECT * FROM dept WHERE dname LIKE 'o%'#以o开始,高效 SELECT * FROM dept WHERE dname LIKE '%o'#以o结束 SELECT * FROM emp WHERE ename LIKE 'l__'#了解 #4. null操作空数据 SELECT * FROM emp WHERE comm IS NULL#查是null的 SELECT * FROM emp WHERE comm IS NOT NULL#查不是null的 #5. between and 区间范围,是包含的关系 SELECT * FROM emp WHERE sal>3000 AND sal<10000 SELECT * FROM emp WHERE sal BETWEEN 3000 AND 10000
相关 cgb2107-day08 文章目录 一,模拟 服务器解析浏览器发来的数据 二,CSS选择器 \--1,概述 \--2,简单选择器 旧城等待,/ 2021年09月11日 03:36/ 0 赞/ 284 阅读
还没有评论,来说两句吧...