文章目录

  • 一,准备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相关推荐

  1. 马哥2013年运维视频笔记 day02 Linux系统常识

    day02 ①.回顾 SHELL的概念:用户和内核之间进行命令传递的通道 分为:GUI:Graphic User Interface Windows--->桌面 Linux ---> Gn ...

  2. c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...

    常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...

  3. JavaWeb图书管理系统day02

    视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ   提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...

  4. Python基础day02 作业解析【6道 if 判断题、9道 循环题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day02[if结构.if elif 结构.while循环.for循环.Break ...

  5. Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题]      学习目标: 能 ...

  6. Python学习【day02】-str类型方法记录

    1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 #测试并记录str数据类型的各个方法 5 6 str1 = "root" 7 ...

  7. 三元运算符运算(Day02)

    三元运算符运算(Day02) 运算符:用来对常量或者变量连接的符号,称为运算符. 表达式:用运算符连接起来的整个式子成为表达式.比如:a+10,10+20 运算符有以下五种: 1.算术运算符 2.赋值 ...

  8. 【老杜】MySQL—day02

    文章目录 day02课堂笔记 1.把查询结果去除重复记录[distinct] 10.连接查询 10.1.什么是连接查询? 10.2.连接查询的分类? 10.3.当两张表进行连接查询时,没有任何条件的限 ...

  9. HTML day02

    前端班day02课堂内容记录 主要内容:HTML a标签,表单及css基本内容 ①关于a标签 <a href="   ">  </a> href:核心属性 ...

  10. 学习日报 day02 java的语法骨架 myeclipse编辑java代码

    学习日报 day02 java的语法骨架 myeclipse编辑java代码 https://cloud.189.cn/t/3MJrm2MRNBRf 开发前的基本知识 java环境名词解释 JRE J ...

最新文章

  1. 技术图文:C#语言中的泛型 I
  2. 解决 Windows Docker 安装 Gitlab Volume 权限问题
  3. python 操作redis之——有序集合(sorted set) (七)
  4. 阿里云上测试服务器的搭建
  5. node简单实现一个更改头像功能
  6. mysql如何创建日志_mysql中的日志
  7. matlab2010b显示激活界面_【转】Matlab2010b许可证过期问题,反复提示激活
  8. 微信,微博,qq账号合并的大工程啊
  9. Win7电脑如何关闭智能卡服务功能--win10专业版
  10. linux下添加用户并开通samba访问
  11. 基于PySpark的航天日志分析(SQL分析)
  12. C++算法之选择排序
  13. DXP_protel2004_原理图设计基础_新建和添加原理图库文件_元件编辑范例
  14. 清东陵的三次大规模盗掘
  15. 计算机数字媒体技术考研的学校有哪些,数字媒体技术考研能选择哪些学校
  16. 如何提高mysql插入速度_mysql技巧:提高插入数据(添加记录)的速度
  17. 统计学三大相关系数---Pearson、Spearman、kendall / RMSE与实现(附代码)
  18. Hive客户端启动报SLF4J: Class path contains multiple SLF4J bindings.
  19. SitePoint Podcast#49:Buzz Kill
  20. 了解一下IO控制器与控制方式

热门文章

  1. 用Xftp和Xshell本地链接华为云主机
  2. Spring初见杀——classNotFound异常
  3. android 各种服务介绍,Android 网络服务介绍
  4. lda主题模型python实现篇_主题模型TopicModel:通过gensim实现LDA
  5. python代码画玫瑰花
  6. 搜索技术——遗传算法
  7. python自然语言分析_Python自然语言用金庸的武侠小说做分析和处理
  8. 工信部装备司文件首提数字孪生关键技术
  9. strcmp()函数详解
  10. VC++下Duilib有关RichEdit添加背景图片和图片字体的使用