初始MySQL(二)(表的增删查改)
目录
修改表
CRUD(增删改查)
insert语句(表中增加数据)
update语句(修改表中的数据)
delete删除语句
select语句
修改表
添加列
ALTER TABLE tablename
ADD (column datatype [DEFAULT expr] [, column datatype] ...);
修改列
ALTER TABLE tablename
MODIFY (column datatype [DEFAULT expr] [, column datatype] ...);
删除列
ALTER TABLE tablename
DROP(column)
查看表的结构 : desc 表名;
修改表名: Rename table 表名 to 新表名
修改表字符集: alter table 表名 character set 字符集;
#修改表的操作练习
#员工表emp上增加一个image列,varchar类型(要求在resume后面)
ALTER TABLE emp ADD image VARCHAR(32) NOT NULL DEFAULT ''AFTER RESUME
DESC emp #显示表的结构,查看表的所有列
#修改job列,使其长度为60
AFTER TABLE empMODIFY job VARCHAR (60) NOT NULL DEFAULT ''
AFTER TABLE empDROP sex
#表明改为employee
RENAME TABLE emp TO employee
#修改表的字符集utf8
AFTER TABLE employer CHARSET utf8#列名name修改为user-name
AFTER TABLE employeeCHANGE `name` `user_name` VARCHAR(64) NOT NULL DEFAULT ''
CRUD(增删改查)
insert语句(表中增加数据)
使用INSERT语句向表中插入数据
快速入门案例:
1.创建一张商品表goods(id int, goods_name varchar(10),price double);
2.添加两条记录
mysql代码
#练习insert语句
#创建一张商品表goods(id int ,goods_name varchar(10),price double);
#添加2条记录
CREATE TABLE `goods`(
id INT, goods_name VARCHAR(10),price DOUBLE);
#添加数据
INSERT INTO `goods` (id ,goods_name,price)VALUES (10,'华为手机','2000');INSERT INTO `goods` (id ,goods_name,price)VALUES (20,'苹果手机','3000');
SELECT * FROM `goods`
insert使用的注意细节
#练习insert语句
#创建一张商品表goods(id int ,goods_name varchar(10),price double);
#添加2条记录
CREATE TABLE `goods`(
id INT, goods_name VARCHAR(10),price DOUBLE NOT NULL);
#添加数据
INSERT INTO `goods` (id ,goods_name,price)VALUES (10,'华为手机','2000');INSERT INTO `goods` (id ,goods_name,price)VALUES (20,'苹果手机','3000');
#注意细节
#1.插入的数据应与字段的数据类型相同。比如把'abc'添加到int 类型会错误
INSERT INTO `goods`(id,goods_name,price) VALUES('abc','小米手机',2000);
#2.数据的长度应在列规定范围内,例如,不能将一个长度为80的字符串加入到长度为40的列中
INSERT INTO `goods`(id,goods_name,price)VALUES(40,'vovo手机vovo手机vovo手机vovo手机',3000);
#3.在values中列出的数据位置必须与被加入的列的排列位置相对应
INSERT INTO `goods` (id,goods_name,price)VALUES('vovo手机',40,2000);
#4.字符和日期型的数据应包含在单引号中
INSERT INTO `goods`(id,goods_name,price)VALUES(40,'vovo手机',3000);
#5.列可以插入空值(前提是该字段允许为空),insert into table value(null),在创建表的时候
#没有写NOT NULL
#写了就不行了,下面就不行呀
-- CREATE TABLE `goods`(
-- id INT, goods_name VARCHAR(10),price DOUBLE NOT NULL);
INSERT INTO `goods`(id,goods_name,price)VALUES(40,'vovo手机',NULL);
#6.insert into tab_name (列名..) values(),(),(),()...
INSERT INTO `goods`(id,goods_name,price)VALUES(50,'三星手机',2300)(60,'海尔手机',1800);
#7.如果是给表中的所有字段添加数据,可以不写前面的字段名称
INSERT INTO `goods`VALUES(40,'大哥大',50000);
#8.默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
#如果某个列没有指定not null ,那么当添加数据时,没有给定值,则会默认给null
#如果我们希望指定某个列的默认值,在创建表时指令
-- CREATE TABLE `goods`(
-- id INT, goods_name VARCHAR(10),price DOUBLE NOT NULL DEFAULT 100);
INSERT INTO `goods`(id,goods_name)VALUES(80,'诺基亚')
update语句(修改表中的数据)
#演示update语句
#创建一个employee表
CREATE TABLE employee(
id INT ,
user_name VARCHAR(20),
birthday DATE ,
entry_date DATETIME,
job VARCHAR(20),
salary INT,
`resume` TEXT);
INSERT INTO employeeVALUES (200,'小妖怪','2010-11-11','2010-11-11 11:11:11','巡山的',3000,'大王叫我来巡山')
SELECT * FROM employee;
#要求: 在上面创建的employee表中修改表中的记录
#1.将所有的员工薪水修改为5000,如果没有带where条件,会修改所有的记录,因此要小心
UPDATE employee SET salary=5000
SELECT * FROM employee;
#2.将姓名为小妖怪的员工薪水修改为3000元
UPDATE employee SET salary = 3000WHERE user_name = '小妖怪'
SELECT * FROM employee;
#3.创建老妖怪
INSERT INTO employeeVALUES (100,'老妖怪','1990-11-11','1990-11-11 11:11:11','捶背的',4000,'大王叫我来捶背')
SELECT * FROM employee;
#4.将老妖怪的薪水在原有基础上增加1000
UPDATE employeeSET salary = salary + 1000WHERE user_name= "老妖怪"
SELECT * FROM employee;
delete删除语句
不能删除某一列,可以使用update 设为null或者'')
delete from tb1_name
[WHERE where_definition]
删除全部数据后,表仍然是存在的,想要删除表,我们应该怎么办呢?
DROP TABLE employee;
select语句
基本语法
SELECT [DISTINCT] *|{column1 , column2,column3} FROM tablename
注意事项: Select指定查询哪些列的数据 column指定列名 *号代表查询所有列
FROM指定查询哪张表 DISTINCT可选,指显示结果时,是否去掉重复数据
使用表达式对查询的列进行运算
SELECT *|{column1 | expression,column2| expression} FROM tablename;
在select语句中可使用as语句
SELECT columnname as 别名 from 表名;
where字句中
#select 语句
#查询姓名为赵云的学生成绩
SELECT * FROM studentWHERE `name` = "赵云"
#查询英语成绩大于90分的同学
SELECT * FROM studentWHERE english > 90
#查询总分大于200分的所有同学
SELECT * FROM studentWHERE (chinese + english + math) > 200;
#查询math大于60 并且(and)id大于4的学生的成绩
SELECT * FROM student WHERE (math>60) AND (id > 4)
#查询英语成绩大于语文成绩的同学
SELECT * FROM student WHERE english>chinese
#查询总分大于200分,并且数学成绩小于语文成绩的姓赵的学生
#赵% 表示名字以赵开头的就可以
SELECT * FROM student WHERE ((chinese + english + math) > 200) AND (math<chinese) AND `name` LIKE '赵%'
#查询英语分数在80-90之间的同学
SELECT * FROM studentWHERE english <=90 AND english >=80
SELECT * FROM studentWHERE english BETWEEN 80 AND 90 #查询数学成绩为89,90,91的同学
SELECT * FROM studentWHERE math = 89 OR math = 90 OR math = 91
SELECT * FROM studentWHERE math IN (89,90,91);
使用order by 子句排序查询结果
SELECT column1,column2,column3... FROM table;
order by column asc | desc,....
1.order by 指定排序的列,排序的列既可以是表中的列名,也可以是select语句后指定的列名
2.Asc升序(默认),Desc 降序
3.ORDER BY 子句应位于SELECT语句的结尾
#select语句
#order by使用
#对数学成绩排序后输出[升序]
SELECT * FROM student ORDER BY math;
#对总分按从高到低的顺序输出[降序]
SELECT `name`,(math+chinese+english) AS '总分' FROM student ORDER BY (math+chinese+english) DESC;
#对姓李的成绩进行排序输出(升序)
SELECT * FROM studentWHERE `name` LIKE '李%'ORDER BY math
相关文章:

初始MySQL(二)(表的增删查改)
目录 修改表 CRUD(增删改查) insert语句(表中增加数据) update语句(修改表中的数据) delete删除语句 select语句 修改表 添加列 ALTER TABLE tablename ADD (column datatype [DEFAULT expr] [, column datatype] ...); 修改列 ALTER TABLE tablename MODIFY (column …...

SLAM从入门到精通(SLAM落地的难点)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在所有的slam算法中,基于反光柱的激光slam和基于二维码的视觉slam是落地最彻底的两种slam方法。和磁条、色带等传统导航方式相比较&…...

通过内网穿透快速搭建公网可访问的Spring Boot接口调试环境
文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…...

职业迷茫,我该如何做好职业规划
案例25岁男,入职2月,感觉自己在混日子,怕能力没有提升,怕以后薪资也提不起来。完全不知道应该往哪个方向进修,感觉也没有自己特别喜欢的。感觉自己特别容易多想,想多年的以后一事无成的样子。 我觉得这个案…...

数据结构----顺序栈的操作
1.顺序栈的存储结构 typedef int SElemType; typedef int Status; typedef struct{SElemType *top,*base;//定义栈顶和栈底指针int stacksize;//定义栈的容量 }SqStack; 2.初始化栈 Status InitStack(SqStack &S){//初始化一个空栈S.basenew SElemType[MAXSIZE];//为顺序…...

web3 React Dapp书写订单 买入/取消操作
好 上文web3 前端dapp从redux过滤出 (我创建与别人创建)正在执行的订单 并展示在Table上中 我们过滤出了 我创建的 与 别人创建的 且 未完成 未取消的订单数据 这边 我们起一下 ganache 环境 ganache -d然后 我们项目 发布一下智能合约 truffle migrate --reset然…...

C++学习---信号处理机制、中断、异步环境
文章目录 前言信号处理signal()函数关于异步环境 信号处理函数示例raise()函数 前言 信号处理 关于信号,信号是一种进程间通信的机制,用于在程序执行过程中通知进程发生了一些事件。在Unix和类Unix系统中,信号是一种异步通知机制,…...

机器学习——奇异值分解案例(图片压缩-代码简洁版)
本想大迈步进入前馈神经网络 但是…唉…瞅了几眼,头晕 然后想到之前梳理的奇异值分解、主成分分析、CBOW都没有实战 如果没有实际操作,会有一种浮在云端的虚无感 但是如果要实际操作,我又不想直接调用库包 可是…如果不直接调包,感…...

【Go入门】面向对象
【Go入门】面向对象 前面两章我们介绍了函数和struct,那你是否想过函数当作struct的字段一样来处理呢?今天我们就讲解一下函数的另一种形态,带有接收者的函数,我们称为method method 现在假设有这么一个场景,你定义…...
Asp.Net Core 中使用配置文件
本文参考微软文档:ASP.NET Core 中的配置 ASP.NET Core 中的应用程序配置是使用一个或多个配置程序提供程序执行的。 配置提供程序使用各种配置源从键值对读取配置数据: 设置文件,例如 appsettings.json环境变量Azure Key VaultAzure 应用配…...

深入理解JVM虚拟机第二十四篇:详解JVM当中的动态链接和常量池的作用
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻J…...
QGridLayout
QGridLayout QGridLayout 是 Qt 框架中的一个布局管理器类,用于在窗口或其他容器中创建基于网格的布局。 QGridLayout 将窗口或容器划分为行和列的网格,并将小部件放置在相应的单元格中。可以通过调整行、列和单元格的大小来控制布局的样式和结构。 以…...

万能在线预约小程序系统源码 适合任何行业在线预约小程序+预约到店模式 带完整的搭建教程
大家好啊,源码小编又来给大家分享啦!随着互联网的发展和普及,越来越多的服务行业开始使用在线预约系统以方便客户和服务管理。例如,美发店、健身房、餐厅等都可以通过在线预约系统提高服务效率,减少等待时间࿰…...
Leetcode 2935. Maximum Strong Pair XOR II
Leetcode 2935. Maximum Strong Pair XOR II 1. 解题思路2. 代码实现 题目链接:2935. Maximum Strong Pair XOR II 1. 解题思路 这一题又是一个限制条件下找“最大值”的问题,不过这里的最大值是XOR之后的最大值。 而要求XOR之后结果的最大值&#x…...

[直播自学]-[汇川easy320]搞起来(4)看文档 查找设备(续)
2023.11.12 周六 19:05 补充一下关于以太网查找设备,如果设置如下: 然后点击测试: 点击ping 如果设置如下: 测试和ping和上图一样。 这就设计的有点不大好了! 另…...
WebSphere Liberty 8.5.5.9 (四)
WebSphere Liberty 8.5.5.9 (四) [WebSphere Liberty 8.5.5.9]Linux 环境 ~$ unzip wlp-webProfile7-java8-linux-x86_64-8.5.5.9.zip ./ ~$ mkdir wlp-webProfile7-java8-8559 ~$ mv wlp ./wlp-webProfile7-java8-8559启动 WebSphere Liberty 8.5.5.9 服务 ~$ cd /home/tes…...

UE特效案例 —— 角色刀光
目录 一,环境配置 二,场景及相机设置 三,效果制作 刀光制作 地裂制作 击打地面炸开制作 一,环境配置 创建默认地形Landscape,如给地形上材质需确定比例;添加环境主光源DirectionalLight,设…...

11. EPIC定时器
11. EPIC定时器 EPIT定时器简介EPIT定时器结构分析EPIT 定时器相关寄存器EPITx_CREPITx_SREPITx_LR 加载寄存器EPITx_CMPR 比较寄存器EPITx_CNR 计数寄存器 EPIT 配置步骤 例程代码编写bsp_epittimer.hbsp_epittimer.cmain.c EPIT定时器简介 EPIT定时器是增强的周期中断定时器…...
git-bash配置代理
git-bash命令提交执行命令: "git push origin main"时发生错误: “$ git push origin main fatal: unable to access ‘https://github.com/satadriver/locust_server.git/’: Failed to connect to github.com port 443 after 21035 ms: Couldn’t connect to serve…...

【ElasticSearch系列-07】ES的开发场景和索引分片的设置及优化
ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...