cgb2110-day02
文章目录
- 一,准备dept表和emp表
- --1,dept表
- --2,emp表
- 二,MySQL客户端工具sqlyog
- --1,连接数据库的服务器
- --2,创建库
- --3,创建表
- --4,添加数据
- 三,MySQL的基础函数
- --1,概述
- --2,测试
- 四,条件查询
- --1,distinct & where
- --2,like & null
- --3,between and & limit & order by
一,准备dept表和emp表
–1,dept表
mysql> show databases;
mysql> use cgb211001;
mysql> show tables;
mysql> drop table dept;
mysql> create table dept(-> deptno int primary key auto_increment,-> dname varchar(20),-> loc varchar(13)-> );
mysql> set names gbk;
mysql> insert into dept values(null,'accounting','一区');
mysql> insert into dept values(null,'research','二区');
mysql> insert into dept values(null,'operations','二区');
–2,emp表
mysql> create table emp(-> empno int primary key auto_increment,-> ename varchar(10),-> job varchar(10),-> mgr int,-> hiredate datetime,-> sal double,-> comm numeric(8,2),-> deptno int-> );mysql> INSERT INTO emp VALUES(100,'jack','副总',NULL,'2002-05-1',90000,NULL,1);
mysql> INSERT INTO emp VALUES(200,'tony','总监',100,'2015-02-02',10000,2000,2);
mysql> INSERT INTO emp VALUES(300,'hana','经理',200,'2017-02-02',8000,1000,2);
mysql> INSERT INTO emp VALUES(400,'leo','员工',300,'2019-02-22',3000,200.12,2);
mysql> INSERT INTO emp VALUES(500,'liu','员工',300,'2019-03-19',3500,200.58,2);
二,MySQL客户端工具sqlyog
–1,连接数据库的服务器
新建连接 – 输入了密码 – 确定
–2,创建库
右键 – 创建数据库 – 输入库名和选成utf8 – 确定
–3,创建表
选中Tables — 右键 — 新建表 — 输入字段名称/字段类型/字段长度 — 设置表名 — 成功
–4,添加数据
可以直接在工具里录入数据,保存就行了.
也可以执行SQL,刷新数据就行了.
三,MySQL的基础函数
–1,概述
为了方便的操作数据,MySQL提供了很多函数,
常见的: lower upper length concat substr replace…
–2,测试
#1.查询语句的多种写法
#查询 所有列
SELECT * FROM emp;
#查询 ename列 的值
SELECT ename FROM emp;
#查询 字段名 别名
SELECT ename abc FROM emp;#给字段设置别名
# 字段名 别名 字段名 别名
SELECT ename a , job b FROM emp;
#2.基本函数:
#upper(m)全转大写,m是字段名称或者字符串
SELECT ename,UPPER('abc'),UPPER(ename) FROM emp;
#lower(m)全转小写,m是字段名称或者字符串
SELECT ename,LOWER('XYZ'),LOWER(ename) FROM emp;
#length(字段名称)求长度,一个字母或数字长度为1,一个汉字为3
SELECT ename,LENGTH(ename),LENGTH(job) FROM emp;#求ename的长度
#substr(a,b,c)截取,a是字段名称b是从第几个开始c是要截取的长度
SELECT ename,SUBSTR(ename,2) FROM emp;
SELECT ename,SUBSTR(ename,2,1) FROM emp;
#concat(a,b,c)拼接,a是字段名称b和c是要拼接的数据
SELECT ename,CONCAT(ename,123,'hello') FROM emp;
#replace(a,b,c)替换,a是字段名称b是要把谁替换成c
SELECT ename,REPLACE(ename,'a','b') FROM emp;
#ifnull(a,b)如果是null就替换,a是字段名称b是要把null替换成b
SELECT comm,IFNULL(comm,100) FROM emp;
#小数处理的:
#round(a)四舍五入,把a的值取整
SELECT comm,ROUND(comm) FROM emp;
#round(a,b)四舍五入,把a的值保留b位小数
SELECT comm,ROUND(comm,2) FROM emp;
#ceil直接向上取整 & floor直接向下取整
SELECT comm,CEIL(comm),FLOOR(comm) FROM emp;
#日期处理的:
#now & year & month & day & hour & minute & second
SELECT NOW(),YEAR('2021-11-25'),YEAR( NOW() ),MONTH( NOW() ),DAY( NOW() ),HOUR( NOW() ),MINUTE( NOW() ),SECOND( NOW() )
#转义字符: '
SELECT 'xi\'an'
SELECT "xi'an"
四,条件查询
–1,distinct & where
#条件查询:
#1.distinct去重,注意位置
# 字段名 表名
SELECT loc FROM dept
SELECT DISTINCT loc FROM dept
#2.where:条件满足才查
#语法: select 字段名 from 表名 where 字段名=字段值
#练习1:查询地址在一区的部门
SELECT * FROM dept WHERE loc='一区'
#练习2:查询2号部门的所有数据
SELECT * FROM dept WHERE deptno=2
#练习3:查询办公地址在二区的部门名称
SELECT dname FROM dept WHERE loc="二区"
#练习4:查询编号<3的部门地址
SELECT loc FROM dept WHERE deptno<3
#练习5:查询地址在二区的,编号是3的部门名称
#如果查询条件有多个,使用 and并且 or或者 连接
SELECT dname FROM dept WHERE loc="二区" AND deptno=3
#练习6:查询编号是1或者2的部门名称
SELECT dname FROM dept WHERE deptno=1 OR deptno=2
SELECT dname FROM dept WHERE deptno IN (1,2)#效果同上
#练习7:查询地址在一区,或者,编号是3的部门名称
SELECT dname FROM dept WHERE loc='一区' OR deptno=3
#向user表中,录入数据,测试where也可以对增删改设置条件
#练习8:修改3号用户的密码
#语法: update 表名 set 字段名=字段值 where 字段名=字段值
UPDATE USER SET pwd="xyz" WHERE id=3
#练习9:修改密码是123,age=20的用户名
UPDATE USER SET NAME='anglelababa' WHERE pwd=123 AND age=20
#练习10:删除5号用户
DELETE FROM USER WHERE id=5
–2,like & null
#3.like模糊查询,%是通配符(0~n个字符),_是通配符(1个字符)
#练习11:查询名字是以t开头的员工姓名和岗位
SELECT ename,job FROM emp WHERE ename LIKE 't%'#以t开头,高效
#练习12:查询名字包含o的员工姓名和编号
SELECT ename,empno FROM emp WHERE ename LIKE '%o%'#包含o
SELECT ename,empno FROM emp WHERE ename LIKE '%o'#以o结束
#4.null,对null特殊处理
#练习13:查询没有奖金的员工姓名和岗位
SELECT ename,job FROM emp WHERE comm IS NULL#没有奖金的
SELECT ename,job FROM emp WHERE comm IS NOT NULL#有奖金的
–3,between and & limit & order by
#4.between and区间范围,两边都包含
#练习14:查询工资在[5000~1000]员工姓名和入职日期
SELECT ename,hiredate FROM emp WHERE sal>5000 AND sal<=10000
SELECT ename,hiredate FROM emp WHERE sal BETWEEN 5000 AND 10000
#练习15:查询在2019年入职的员工姓名
SELECT ename FROM emp WHERE hiredate BETWEEN '2019-1-1' AND '2019-12-31'
SELECT ename FROM emp WHERE YEAR(hiredate)=2019#效果同上
#5.limit分页
#练习16:展示前两个员工的信息
SELECT * FROM emp LIMIT 2 #取前两条
SELECT * FROM emp LIMIT 0,2 #从第0+1条开始取,取2条
SELECT * FROM emp LIMIT 1,3 #从第1+1条开始取,取3条
#6.order by字典顺序排序,默认升序,非要降序就写明DESC
#练习17:按照工资排序
SELECT * FROM emp ORDER BY sal DESC
#练习18:按照名字排序,按照字典顺序排序
SELECT * FROM emp ORDER BY ename
#练习19:按照日期排序,当做数值在升序
SELECT * FROM emp ORDER BY hiredate
#练习20:按照岗位排序
SELECT * FROM emp ORDER BY job
#练习21:查询最高薪的员工的名字和岗位
SELECT * FROM emp ORDER BY sal DESC LIMIT 1
cgb2110-day02相关推荐
- 马哥2013年运维视频笔记 day02 Linux系统常识
day02 ①.回顾 SHELL的概念:用户和内核之间进行命令传递的通道 分为:GUI:Graphic User Interface Windows--->桌面 Linux ---> Gn ...
- c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...
常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...
- JavaWeb图书管理系统day02
视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ 提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...
- Python基础day02 作业解析【6道 if 判断题、9道 循环题】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day02[if结构.if elif 结构.while循环.for循环.Break ...
- Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题] 学习目标: 能 ...
- Python学习【day02】-str类型方法记录
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 #测试并记录str数据类型的各个方法 5 6 str1 = "root" 7 ...
- 三元运算符运算(Day02)
三元运算符运算(Day02) 运算符:用来对常量或者变量连接的符号,称为运算符. 表达式:用运算符连接起来的整个式子成为表达式.比如:a+10,10+20 运算符有以下五种: 1.算术运算符 2.赋值 ...
- 【老杜】MySQL—day02
文章目录 day02课堂笔记 1.把查询结果去除重复记录[distinct] 10.连接查询 10.1.什么是连接查询? 10.2.连接查询的分类? 10.3.当两张表进行连接查询时,没有任何条件的限 ...
- HTML day02
前端班day02课堂内容记录 主要内容:HTML a标签,表单及css基本内容 ①关于a标签 <a href=" "> </a> href:核心属性 ...
- 学习日报 day02 java的语法骨架 myeclipse编辑java代码
学习日报 day02 java的语法骨架 myeclipse编辑java代码 https://cloud.189.cn/t/3MJrm2MRNBRf 开发前的基本知识 java环境名词解释 JRE J ...
最新文章
- 技术图文:C#语言中的泛型 I
- 解决 Windows Docker 安装 Gitlab Volume 权限问题
- python 操作redis之——有序集合(sorted set) (七)
- 阿里云上测试服务器的搭建
- node简单实现一个更改头像功能
- mysql如何创建日志_mysql中的日志
- matlab2010b显示激活界面_【转】Matlab2010b许可证过期问题,反复提示激活
- 微信,微博,qq账号合并的大工程啊
- Win7电脑如何关闭智能卡服务功能--win10专业版
- linux下添加用户并开通samba访问
- 基于PySpark的航天日志分析(SQL分析)
- C++算法之选择排序
- DXP_protel2004_原理图设计基础_新建和添加原理图库文件_元件编辑范例
- 清东陵的三次大规模盗掘
- 计算机数字媒体技术考研的学校有哪些,数字媒体技术考研能选择哪些学校
- 如何提高mysql插入速度_mysql技巧:提高插入数据(添加记录)的速度
- 统计学三大相关系数---Pearson、Spearman、kendall / RMSE与实现(附代码)
- Hive客户端启动报SLF4J: Class path contains multiple SLF4J bindings.
- SitePoint Podcast#49:Buzz Kill
- 了解一下IO控制器与控制方式