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…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
