cgb2111-day02

2024-08-22 06:48
文章标签 day02 cgb2111

本文主要是介绍cgb2111-day02,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一,sqlyog工具的使用
      • --1,新建连接
      • --2,数据库
      • --3,表
      • --4,记录
      • --5,练习,创建user表
    • 二,字段约束
      • --1,主键约束
    • 三,基础函数
      • --1,LOWER & UPPER
      • --2,LENGTH & SUBSTR & CONCAT
      • --3,REPLACE & IFNULL & ROUND
      • -4,日期函数 & 转义符号
    • 四,条件查询
      • --1,DISTINCT & WHERE
      • --2,模糊查询
      • --3,null & between and

一,sqlyog工具的使用

–1,新建连接

找到了压缩包,进行解压,进去找一个exe应用程序,双击.
填入正确密码 — 连接测试 — 连接

–2,数据库

直接右键 – 新建数据库 – 设置数据库名/选成utf8的编码表 – 创建

–3,表

选中Tables – 右键 – 新建表 – 设计字段名称/字段类型/字段长度 – 创建

–4,记录

选中表 – 右键 – 打开表 – 可以直接录入数据(修改/删除) – 执行SQL看结果

–5,练习,创建user表

在这里插入图片描述

二,字段约束

–1,主键约束

#1.主键约束:每张表都应该有主键,特点是:非空且唯一
CREATE TABLE test6(id INT PRIMARY KEY)
INSERT INTO test6 VALUES(1)
INSERT INTO test6 VALUES(1)#id是主键,值唯一
INSERT INTO test6 VALUES(NULL)#id是主键,值不能为空
SELECT * FROM test6
#主键约束要求,值不能为空而且不能相同!!
#2.问题是:要去关心主键值到底应该写几了呢??
INSERT INTO test6 VALUES(3)
#3.从此以后,交给MySQL数据库来维护主键的值,自增++
CREATE TABLE test7(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10)
)
INSERT INTO test7 VALUES(NULL,'rose');
INSERT INTO test7 VALUES(NULL,'jack');

三,基础函数

MySQL数据库为了提高程序员操作数据的效率,提供了很多函数
常见的有: upper/lower/length/concat/replace/year/month…/round…

–1,LOWER & UPPER

#基础函数:MySQL提供的一些函数
#练习1:查询部门表的所有数据
#查询 所有 from 表名
SELECT * FROM dept
#练习2:查询部门表的所有部门名称
SELECT dname FROM dept
#练习3:查询部门表的所有部门名称和地址
SELECT dname a FROM dept#设置别名
SELECT dname,loc FROM dept
#练习4:查询所有部门名称和大写的名称upper
SELECT dname,UPPER('abc'),UPPER(dname) FROM dept
#练习5:把员工名字转大写
SELECT ename,UPPER(ename) FROM emp
#练习6:把ABC转小写lower
SELECT LOWER('ABC') FROM dept

–2,LENGTH & SUBSTR & CONCAT

#练习7:查询dname的长度
#length:底层会去查询utf8表,规定了一个字母或数字长度为1,一个汉字长度为3
SELECT dname,LENGTH(dname),loc,LENGTH(loc) FROM dept
#练习8:截取部分dname的值
#SUBSTR(a,b,c)-a是字段名称b是开始截取的位置c是截取的长度
SELECT dname,SUBSTR(dname,3) FROM dept
SELECT dname,SUBSTR(dname,3),SUBSTR(dname,3,3) FROM dept
#练习9:把dname的值拼接hello
#concat(1,2,3)-拼接字符串,1是字段名称2是第一次拼接的内容3是继续要拼接的内容
SELECT dname,CONCAT(dname,'hello',100) FROM dept

–3,REPLACE & IFNULL & ROUND


#练习10:把dname的a替换成666
#replace(1,2,3)-替换字符串,1是字段名称2是要被替换掉的3是新值
SELECT dname,REPLACE(dname,'a','666') res FROM dept
#练习11:查询员工的奖金
#ifnull(1,2)-对null元素的替换操作1是字段名称2是null要被换成谁
SELECT comm,IFNULL(comm,0) FROM emp
#练习12:统计员工的月薪
SELECT sal,comm,sal+IFNULL(comm,0) FROM emp
#练习13:对小数的精确处理
#round四舍五入取整 & ceil向上取整 & floor向下取整
SELECT comm,ROUND(comm),CEIL(comm),FLOOR(comm) FROM emp
SELECT comm,ROUND(comm,2) FROM emp#四舍五入,并保留一个小数

-4,日期函数 & 转义符号

#练习14:对日期数据的精确处理
#now & year & month & day & hour & minute & second
SELECT NOW()#获取当前的系统时间
SELECT YEAR('2000-1-1') #获取日期中的年
SELECT YEAR( NOW() ) #获取当前年
SELECT YEAR( NOW() ), MONTH( NOW() ), DAY( NOW() )
SELECT HOUR( NOW() ), MINUTE( NOW() ), SECOND( NOW() )#转义字符,是指在SQL语句中有特殊函数的一些符号,需要\转义
SELECT 'xi\'an'
SELECT "xi'an" 

四,条件查询

SQL中可以通过条件来查询数据,满足条件的数据就查出来,没满足的就查不出来.

–1,DISTINCT & WHERE

#1.distinct去重
#练习1:查询部门地址
SELECT DISTINCT loc  FROM dept 
#2.where
#练习2:查询编号=1的部门信息
#     查所有    表名  查询条件(字段名称=字段值)
SELECT * FROM dept WHERE deptno=1
#练习3:查询办公地址在二区的部门名称
SELECT dname FROM dept WHERE loc='二区' #办公地址在二区的
#练习4:查询工资>8000的员工信息
SELECT * FROM emp WHERE sal>8000 #工资>8000
#练习5:查询岗位是员工并且工资>3000的员工姓名
SELECT ename FROM emp 
WHERE job='员工' AND sal>3000 #条件间的并且关系
#练习6:查询工资=3000 工资=8000的员工信息
SELECT * FROM emp 
#where sal=3000 or sal=8000#条件间的或者关系
WHERE sal IN(3000,8000)#in子句,效果语义同上

–2,模糊查询


#3.like模糊查询,通常使用%通配0~n个字符
#练习7:查询名字里包含a的员工信息
SELECT * FROM emp WHERE ename LIKE '%a%'#包含a的
#练习8:查询工作岗位中有总字的员工姓名
SELECT ename,job FROM emp WHERE job LIKE '%总%'#包含总
#练习9:查询工作岗位以总开头的员工姓名
SELECT ename,job FROM emp WHERE job LIKE '总%'#以总开头,高效
SELECT ename,job FROM emp WHERE job LIKE '%总'#以总结尾

–3,null & between and

#4.null
#练习10:查询没有奖金的员工的信息
SELECT * FROM emp WHERE comm IS NULL
#练习11:查询有奖金的员工的信息
SELECT * FROM emp WHERE comm IS NOT NULL
#5.between and 在区间范围内
#练习12:查询工资在[5000,10000]的员工信息
SELECT * FROM emp 
#where sal>5000 and sal<10000#更灵活的表达条件
WHERE sal BETWEEN 5000 AND 10000 #效果语义同上,两边都包含
#练习13:查询2015年至2019年入职的员工信息
SELECT * FROM emp 
#WHERE hiredate>='2015-1-1' AND hiredate<='2019-12-31'
WHERE YEAR(hiredate) BETWEEN 2015 AND 2019

这篇关于cgb2111-day02的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095545

相关文章

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

javaweb-day02-2(XML 解析 - Jaxp的sax方式解析)

Jaxp解析开发包 Sax解析方式只能做查询: Sax解析方式和DOM解析方式的区别:     在使用 DOM 解析 XML 文档时,需要读取整个 XML文档,在内存中构架代表整个DOM 树的Doucment对象,从而再对XML文档进行操作。此种情况下,如果XML 文档特别大,就会消耗计算机的大量内存,并且容易导致内存溢出。  SAX解析允许在读取文档的时候,即对文档进行处

网络编程day02(字节序、TCP编程)

目录 【1】字节序 1》大小端转换 2》端口转换   3》IP地址转换 主机字节序转换为网络字节序 (小端序->大端序) 网络字节序转换为主机字节序(大端序->小端序)  【2】TCP编程 1》流程 2》函数接口 1> socket 2> bind 3> listen 4> accept  5> recv  6> connect 7> send  3》代码展示

笔试强训day02

牛牛的快递 import matha,b = input().split()a = float(a)price = 20if a>1:price += math.ceil(a)-1if b=='y':price += 5print(price) 最小花费爬楼梯 #include <bits/stdc++.h>const int N = 1e5+10;int co

蓝桥杯备赛day02:递推

斐波那契数列 #include <bits/stdc++.h>using namespace std;int main(){int n;cin>>n;int dp[n+1];dp[1]=1;dp[2]=1;for(int i = 3;i <= n;i++) dp[i] = dp[i-1]+dp[i-2];cout<<dp[n];return 0;} n = int(input())

javaWeb【day02】--(JavaScriptVue)

1 JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演示,通过浏览器打开,我们点击主题5按钮,页面的主题发生了变化,所以js可以让我们的页面更加的智能,让页面和用户进行交互。 1.2 引入方

代码随想录算法训练营Day02 | 209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地

文章目录 209.长度最小的子数组思路与重点相关题目(TODO) 59.螺旋矩阵II思路与重点 区间和思路与重点 开发商购买土地思路与重点 209.长度最小的子数组 题目链接:209. 长度最小的子数组 - 力扣(LeetCode)讲解链接:代码随想录 (programmercarl.com)状态:回忆不起来,直接看题解了。 思路与重点 最直观的方法还是我们的暴力

libtorch---day02[第一个分类器]

参考pytorch。 加载数据集CIFAR10 因为例程中使用的是torchvision加载数据集CIFAR10,但是torchvision的c++版本提供的功能太少,不考虑使用了,直接下载bin文件进行读取加载,CIFAR10数据格式: CIFAR-10 数据集的图像数据以二进制格式存储。数据集中每张图像由以下几个部分组成: 标签 (1 byte): 表示图像所属的类别(0-9)。

python进阶篇-day02-面向对象高级

day02面向对象高级     定义类的方法 class Student:class Student():class Student(object): object => 父类名, object为所有类的父类, 顶级类       一. 继承 单继承 介绍 概述 实际开发中, 我们发现好多类中的部分内容是相似的, 或者相同的, 每次写很麻烦, 针对于这种情况,

IO进程day02(文件IO)

目录 【1】什么是文件IO 1》概念 2》特点 3》操作 【2】函数接口 1》打开文件open() 思考:文件IO和标准IO的打开方式的对应关系 2》关闭文件 close()  3》读写文件  read  write 1> 读文件 read() 2> 写文件 write()  练习:文件IO实现cp功能。cp 源文件 新文件名 4》文件定位操作 lseek 练习:向文件