SQL语言1
创建数据库 CREATE DATABASE
展示数据库 SHOW DATABASE
整数 INT
有小数点的数 DECIMA(m, n) #m是有几位数,n是有几位小数
字符串 VARCHAR(n)
(Binary Large Object)图片 影片 BLOB
‘YYYY-MM-DD’日期 DATA
'YYYY-MM-DD HH:MM:SS' 记录时间 TIMESTAMP
数据库中加入表格
CREATE DATABASE `sql_tutorial`;
SHOW DATABASES;
USE `sql_tutorial`;CREATE TABLE student(`student_id` INT PRIMARY KEY,`name` VARCHAR(20),`major`VARCHAR(20)--PRIMARY KEY(student)
);DESCRIBE `student`;--显示表格
DROP TABLE 'student'; --删除表格ALTER TABLE `student` ADD gpa DECIMAL(3,2); --增加属性
ALTER TABLE `student` DROP COLUMN gpa;--删除属性--存入数据
INSERT INTO `student` VALUES(1,'小白','历史');
INSERT INTO `student` ('name','major','student_id')VALUES('小白','历史',1);
SELECT * FROM 'student'--列出全部数据--constraints 限制CREATE TABLE student(`student_id` INT PRIMARY KEY,`name` VARCHAR(20) NOT NULL,--数据不能为空`major`VARCHAR(20) UNIQUE,--数据不能重复`major_1`VARCHAR(20) DEFAULT'历史',--新增预设值`name` VARCHAR(20) AUTO_INCREMENT,--自动增加
);--删除表格
DROP TABLE `student`SET SQL_SAFE_UPDATAS = 0; --关闭预设模式--更改表格内容
UPDATA `student` SET `major` = `英语文学` WHERE `major` = `英语`;UPDATA `student` SET `major` = `生化` WHERE `major` = `生物` OR `major` = `化学`;UPDATA `student` SET `name`=`小惠`,`major` = `生化` WHERE `student` =1 ;UPDATA `student` SET `name`=`小惠`;--name属性全改为小惠--删除数据DELETE FROM `student` WHERE `name`=`小惠` ;DELETE FROM `student` WHERE `score`>60;DELETE FROM `student` --删除整个表格--取得资料
SELECT `name`,`major` FROM `student`;
SELECT * FROM `student`;--取得所有数据
SELECT * FROM `student` ORDER BY `score` ASC; --若什么都没写则预设ASC,由低到高。DESC由高到低。SELECT * FROM `student` ORDER BY `score` ,`student_id`;--先根据score做排序,如果score相同,再根据student_id做排序。
SELECT * FROM `student` LIMIT 2;--回传前两笔资料。
SELECT * FROM `student` ORDER BY `score` LIMIT 2; --先按照score做排序,然后回传前两笔资料。
SELECT * FROM `student` WHERE`major`=`英语`OR`score`>=70;--回传主修是英语或者分数大于等于70
SELECT * FROM `student` WHERE`major` IN(`历史`,`英语`,`生物`);
大于 >
小于 <
大于等于 >=
等于=
不等于<>
-- 创建公司资料表格CREATE DATABASE `sql_tutorial`;SHOW DATABASES;USE `sql_tutorial`;DROP TABLE `student`;SET SQL_SAFE_UPDATES = 0; --关闭预设自动更新--创建表格CREATE TABLE `employee`(`emp_id` INT PRIMARY KEY,`name` VARCHAR(20),`brith_date` DATE,`sex` VARCHAR(1),`salary` INT,`branch_id` INT,`sup_id` INT);DROP TABLE `employee`;describe TABLE employee;--创建部门表格CREATE TABLE `branch`(`branch_id` INT PRIMARY KEY,`branch_name` VARCHAR(20),`manager_id` INT,FOREIGN KEY (`manager_id`) REFERENCES `employee`(`emp_id`) ON DELETE SET NULL --FOREIGN KEY表示外键;REFERENCES 表示外键接的表格名,再加外接的表格的primary key);--对公司表格补上外键foreign key,ALTER TABLE `employee` ADD FOREIGN KEY(`branch_id`) --加外键 branch_id属性REFERENCES `branch`(`branch_id`) --对应到branch表格的branch_id的属性ON DELETE SET NULL;ALTER TABLE `employee`ADD FOREIGN KEY(`sup_id`) --加外键sup_idREFERENCES `employee`(`emp_id`) --对应到branch表格的branch_id的属性ON DELETE SET NULL; --创建客户表格CREATE TABLE `client`(`client_id` INT PRIMARY KEY,`client_name` VARCHAR(20),`phone` VARCHAR(20));--创建worh_with表格CREATE TABLE `work_with`(`emp_id` INT,`client_id` INT,`total_sales` INT,PRIMARY KEY ( `emp_id`, `client_id`),FOREIGN KEY (`emp_id`) REFERENCES `employee`(`emp_id`) ON DELETE CASCADE,FOREIGN KEY (`client_id`) REFERENCES `client`(`client_id`) ON DELETE CASCADE );--填写表格数据--有foreign key时,对应的表没有相应资料时,直接输入会报错,要用NULL代替INSERT INTO `branch` VALUES(1,'研发',NULL);INSERT INTO `branch` VALUES(2,'行政',NULL);INSERT INTO `branch` VALUES(3,'查询',NULL); INSERT INTO `employee` VALUES(206,'小黄','1998-10-08','F',50000,1,NULL); --把原本branch的manager_id=NULL改回来UPDATE `branch`SET `manager_id`=206WHERE `branch_id`=1;UPDATE `branch`SET `manager_id`=207WHERE `branch_id`=2;UPDATE `branch`SET `manager_id`=208WHERE `branch_id`=3; --增加客户信息INSERT INTO `client` VALUES(400,'阿狗','1234567'); --增加work_with 信息
NSERT INTO `work_with` VALUES(206,400,70000);--取得员工资料
SELECT * FROM`employee`;--按薪水由低到高取得员工资料
SELECT * FROM `employee`OREDER BY`salary`;
--取得薪水前3高的员工
SELECT * FROM `employee`OREDER BY`salary`DESC LIMIT3;
--取得所有员工的名字
SELECT `name` FROM `employee`;
--取得所有员工的性别
SELECT DISTINCT `sex`FROM`employee`--distinct显示不重复的。
--取得客户资料
SELECT * FROM`client`;
--取得员工人数
SELECT COUNT(`sup_id`)FROM`employee`;--输出是员工数量--取得所有出生在1996-10-01之后出生的女性员工SELECT COUNT(*) FROM `employee`WHERE `brith_date` > '1996-10-01' AND `sex`='F'; --取得所有员工的平均薪水SELECT AVG(`salary`) FROM `employee`;--取得所有员工的总和薪水 sumSELECT SUM(`salary`) FROM `employee`;--取得最高/低员工的薪水 max,minSELECT MAX(`salary`) FROM `employee`; --widcards 万用字元 %代表多个字元;_代表一个字元
--1、取得电话号码尾数是335的客户
SELECT * FROM `client` WHERE `phone` LIKE`%335`;
--2、取得电话号码开头是245的客户
SELECT * FROM `client` WHERE `phone` LIKE`245%`;
--3、取得电话号码中间是245的客户
SELECT * FROM `client` WHERE `phone` LIKE`%245%`;
--4、取得姓艾的客户
SELECT * FROM `client` WHERE `client_name` LIKE`艾%`;
--取得生日在10月的员工SELECT * FROM `employee`WHERE `brith_date` like '_____10%'; --五个_--union 连集 可以合并搜寻的结果,合并的属性资料形态要一样,不同表格的属性数目要一样,不能用表格1的2个属性去和表格2的1个属性合并--员工名字和客户名和部门名字字合并 SELECT `name` FROM `employee` UNION SELECT `client_name` FROM `client`;SELECT `name` FROM `employee` UNION SELECT `client_name` FROM `client`UNION SELECT `branch_name` FROM `branch`;--员工id+员工名字UNION 客户id+客户名字
SELECT `emp_id`,`name` FROM`employee`UNION SELECT `client_id`,'client_name' FROM`client`;
--员工id+员工名字UNION 客户id+客户名字,并且改名字
SELECT `emp_id`AS`total_id`,`name`AS`total_name` FROM`employee`UNION SELECT `client_id`,'client_name' FROM`client`;--员工薪水union销售金额
SELECT `salary` FROM`employee`UNION SELECT `total_sales` FROM`works_with`;--join 链接 在join左边是左边表格,在join右边是右边表格,右边表格条件成立才回传资料,左边表格全部资料都会回传,没有对应右边的,则显示NULL
--right join则相反
INSERT INTO `branch`VALUES(4,`偷懒`,NULL);--新增一笔资料
--取得所有部门经理的名字
SELECT `emp_id`,`name`,`branch_name` FROM `employee` JOIN `branch` ON `emp_id`=`manager_id`;--在属性前面加上表格名称。`employee`.`emp_id`,防止多个表格存在相同属性--subquery 子查询
--1、找出研发部门的经理名字
SELECT `name` FROM`employee` WHERE`emp_id`=(
SELECT `manager_id`FROM `branch` WHERE `branch_name`=`研发`);
--找出一位客户销售金额超过50000的员工名字:当子查询回传结果不止一个,要用in不用=SELECT `name` FROM `employee`WHERE `emp_id` IN (SELECT `emp_id` FROM `work_with`WHERE `total_sales` > 50000);--on delete删除某一行
--on delete set null;(对应不到,设置为null) 如果删除某个资料1,其他表格的资料2用外键对应的该资料1,在其他表格中把资料2设为null,当资料2为primary key时,不能设置为null,只能为on delete cascade
--on delete cascade; (对应不到,把整笔资料删掉)如果删除某个资料1,其他表格的资料2用外键对应的该资料1,在其他表格中把资料2也删掉。--创建worh_with表格CREATE TABLE `work_with`(`emp_id` INT,`client_id` INT,`total_sales` INT,PRIMARY KEY ( `emp_id`, `client_id`),FOREIGN KEY (`emp_id`) REFERENCES `employee`(`emp_id`) ON DELETE CASCADE,FOREIGN KEY (`client_id`) REFERENCES `client`(`client_id`) ON DELETE CASCADE --primary ley同时又是foreign key不能设置为null );--创建部门表格CREATE TABLE `branch`(`branch_id` INT PRIMARY KEY,`branch_name` VARCHAR(20),`manager_id` INT,FOREIGN KEY (`manager_id`) REFERENCES `employee`(`emp_id`) ON DELETE SET NULL #FOREIGN KEY表示外键;REFERENCES 表示外键接的表格名,再加外接的表格的primary key);DELETE FROM `employee`WHERE `emp_id`= 207;SELECT * FROM `work_with`;SELECT * FROM `branch`;UPDATE `branch`SET `manager_id`=207WHERE `branch_id`=2; INSERT INTO `employee` VALUES(207,'小绿','1995-10-09','M',51000,2,206);INSERT INTO `work_with` VALUES(207,400,'56000');
相关文章:
SQL语言1
创建数据库 CREATE DATABASE 展示数据库 SHOW DATABASE 整数 INT 有小数点的数 DECIMA(m, n) #m是有几位数,n是有几位小数 字符串 VARCHAR(n) (Binary Large Object)图片 影片 BLOB ‘YYYY-MM-DD’日期 DATA YYYY-MM-DD HH:MM:SS 记…...

PowerShell搭建vue起始项目
Windows PowerShell搭建vue起始项目 搜索PowerShell,以管理员身份运行。 复制文件夹路径 cd 到这个文件夹位置 命令行创建项目:vue create 项目名 这里写自己的项目名就行,我写的yeb vue create yeb 创建成功后是这样的 有颜色的就是选中的ÿ…...

jmeter遇到连接数据库的问题
jmeter连接mysql或者oracle简单,但是连接过inceptor吗? 上货 1、下载驱动inceptor 5.1.2.jar包 2、在添加驱动那里导入 3、在JBC request中的写法 PS:没什么可说的...

应急响应实战笔记02日志分析篇(3)
第3篇:Web日志分析 ox01 Web日志 Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。 我们来…...
常见性能优化策略
对于经常接触高并发服务的同学来学,会经常涉及到性能优化,但是由于平时很少总结,内容会比较分散,这里简单做一些总结 1:空间换时间 比如一些数据的访问需要很快返回结果,原本在磁盘上的数据,需…...
【微信小程序】微信小程序开发:从入门到精通
微信小程序开发:从入门到精通 一、开发准备二、小程序开发流程1、注册与创建项目2、开发页面3、配置4、调试与预览5、发布与审核 随着移动互联网的普及,微信小程序成为了越来越多企业和个人开发者的首选。小程序是一种无需下载安装即可使用的应用&#x…...
【经验】STM32的一些细节
这两天 碰到的奇葩问题是 STM32定时器同步的问题。 我的设计本意是:使用定时器T3以100us的周期来定时发送命令给 FPGA。由于编码器出结果的最长时间为51us。因此,希望PWM中断要滞后于T3 约60us 。 调试过程:分别在T3和PWM中断中置IO1&#…...

ubuntu22.04安装部署03: 设置root密码
一、前言 ubuntu22.04 安装完成以后,默认root用户是没有设置密码的,需要手动设置。具体的设置过程如下文内容所示: 相关文件: 《ubuntu22.04装部署01:禁用内核更新》 《ubuntu22.04装部署02:禁用显卡更…...

【lesson56】生产者消费者模型
文章目录 学习生产者消费者模型过程中要回答的两个问题生产者消费者模型的概念基于阻塞队列的生产者消费者模型编码实现Common.hLockGuard.hppCondtion.hppBlockQueue.hppTask.hppConProd.cc 学习生产者消费者模型过程中要回答的两个问题 1.条件变量是在条件满足的时候&#x…...

MySQL5.7升级到MySQL8.0的最佳实践分享
一、前言 事出必有因,在这个月的某个项目中,我们面临了一项重要任务,即每年一次的等保测评整改。这次测评的重点是Mysql的一些高危漏洞,客户要求我们无论如何必须解决这些漏洞。尽管我们感到无奈,但为了满足客户的要求…...

Rust 数据结构与算法:5栈:用栈实现前缀、中缀、后缀表达式
3、前缀、中缀和后缀表达式 计算机是从左到右处理数据的,类似(A (B * C))这样的完全括号表达式,计算机如何跳到内部括号计算乘法,然后跳到外部括号计算加法呢? 一种直观的方法是将运算符移到操作数外,分离运算符和操…...
作业day6
数据库 sqlite3 sq.db 如果sq.db存在则直接打开sq.db数据库,如果不存在则先创建再打开; 系统命令 需要以 . 开头,不需要以 ; 结尾 .quit 退出数据库 .exit 退出数据库 .help 显示帮助信息,获取所有系统命令; .table 查看当前数据…...

前方预警!2024年七大网络安全威胁
新颖创新技术的兴起和迅速采用已极大地改变了各行各业的全球网络安全和合规格局,比如生成式人工智能、无代码应用程序、自动化和物联网等新技术。 网络犯罪分子正转而采用新的技术、工具和软件来发动攻击,并造成更大的破坏。因此,《2023年网…...

绿色化 数据库 MongoDB 和 mysql 安装
绿色化 数据库 MongoDB 和 mysql 安装 【1.1】 前言 为什么要绿色化 安装呢?因为系统老升级,老重装!!也方便了解下数据库配置和库在那 绿色软件喜欢一般放在 D盘tools目录里 D:\tools\ 数据库 MongoDB D:\tools\MongoDB 数…...
npm install 一直卡着不动如何解决
目录 方式一:方式二: 方式一: npm cache clean --force npm config set registry https://registry.npmmirror.com npm install下面是简单的解释: 🍀1、强制清理 npm 缓存 npm cache clean --force🍀2、设…...

电路设计(15)——篮球赛24秒违例倒计时报警器的proteus仿真
1.设计要求 设计、制作一个篮球赛24秒违例倒计时报警器。要求: (1)具有倒计时功能。可完整实现从“24”秒开始依序倒计时并显示倒计时过程,显示时间间隔为1秒。 (2)具有消隐功能。当“24”秒倒计时…...
golang 集成sentry:http.Client
http.Client 是 Go 标准库 HTTP 客户端实现, sentry-go也没有这个组件,所以需要自己实现。 我们只需要对 http.Transport 进行包装即可, 完整代码如下 package mainimport ("bytes""fmt""io""log"&…...

设计链表(不难,代码稍微多一点)
设计链表 在链表类中实现这些功能: get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。ad…...

[GXYCTF2019]禁止套娃
进来发现只有这句话,习惯性访问一下flag.php,发现不是404,那就证明flag就在这了,接下来要想办法拿到flag.php的源码。 这道题是.git文件泄露网页源码,githack拿到index.php源码 这里观察到多次判断,首先要…...

ubuntu下如何查看显卡及显卡驱动
ubuntu下如何查看显卡及显卡驱动 使用nvidia-smi 工具查看 查看显卡型号nvida-smi -L $ nvidia-smi -L GPU 0: NVIDIA GeForce RTX 3050 4GB Laptop GPU (UUID: GPU-4cf7b7cb-f103-bf56-2d59-304f8996e28c)当然直接使用nvida-smi 命令可以查看更多信息 $ nvidia-smi Mon Fe…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...