SQL语句汇总——数据修改、数据查询
首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述。
添加新数据:
INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)
如:
INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛',18,'男');
其中列名可以省略,省略之后要求插入的值必须与列一一对应:
INSERT INTO t_student VALUES (2,'王二',20,'男');
多行数据添加:
INSERT INTO t_student VALUES (3,'张三',22,'男'),
(4,'李四',17,'女'),
(5,'王五',23,'男');
更改数据:
UPDATE 表名 SET 列1=新值1,列2=新值2 WHERE 过滤条件
假如要修改李四的年龄为21岁
UPDATE t_student SET student_age=21 WHERE student_name='李四';
注:修改多个列的值时用逗号隔开。要想设置某一列的值为空,只需让<列名>=NULL 即可。WHERE表示过滤条件。
删除数据(行):
DELETE FROM 表名 WHERE 过滤条件
现要删除20到22岁的学生信息:
DELETE FROM t_student WHERE student_age BETWEEN 20 AND 22;
WHERE的判断条件之后会更详细的介绍。
删除除了DELETE还有一种方法TRUNCATE,写法:
TRUNCATE TABLE 表名
二者区别在于:
查询操作
分类:
SELECT 列1,列2 FROM 表名
多个列中间用逗号隔开,如果选择所有列可以用*号简写。
还是此表:
现在只想要查看姓名和年龄列:
SELECT student_name,student_age FROM t_student;
注意这里不是把其他列删除了,而是只显示我们想看见的部分。
SELECT CONCAT(student_name,'——',student_age) '组合值' FROM t_student;
CONCAT,可以将列与列之间用想要的符号连接起来:
排除重复——DISTINCT
现给原表加入一班级列:
按照之前方法查询班级列得到:
但是我们只想查看具体有哪些班级,这里就需要用到去重,也就是DISTINCT。
SELECT DISTINCT student_class FROM t_student;
返回限定行数的查询——LIMIT
LIMIT后面参数为1或2个:
LIMIT N 表示从第一行开始返回N行结果,LIMIT i,N 表示从第i+1行开始返回N行结果。
例:
SELECT * FROM t_student LIMIT 3;
SELECT * FROM t_student LIMIT 2,3;
*注:LIMIT很重要,它是之后做数据表格分页的关键。
选择操作——WHERE:
分为单条件选择与多条件选择
单条件选择标准结构:
SELECT 列1, 列2 FROM 表名 WHERE 列3 = 值
关系运算符包括:> >= < <= = !=
多条件选择标准结构:
SELECT 列A, 列B FROM 表 WHERE 条件1 (AND或者OR) 条件2
其中AND表示并且,OR表示或者。
选择范围——BETWEEN
如:
SELECT * FROM t_student WHERE student_age BETWEEN 20 AND 23;
BETWEEN后的值为从下限到上限。
定义集合——IN或NOT IN
现在想查看年龄为17、20、23的学生信息:
SELECT * FROM t_student WHERE student_age IN (17,20,23);
反之NOT IN就是选择不包括在集合里的学生信息。
模糊查询——LIKE
为了更好的解释模糊查询,这里重新建张表:
这里姓王的兄弟们躺枪...别介意。
首先先说下占位符与通配符:
占位符 "_",表示任何单个字符。
通配符 "%",表示包含零或多个字符。
下面就来用模糊查询逐一选中我们想要的行。
名字只有两个字的:
SELECT * FROM t_student WHERE student_name LIKE '__';
这里可能看不清,引号里实际是两个占位符。
所有姓王的:
SELECT * FROM t_student WHERE student_name LIKE '王%';
最后一个字是“王”的:
SELECT * FROM t_student WHERE student_name LIKE '%王';
只要是名字中有“王”字的:
SELECT * FROM t_student WHERE student_name LIKE '%王%';
这下模糊查询就很明白了吧,当然还有其他组合,大家可以自己尝试。
处理空值数据:
判断条件不能用列名=NULL,而是要用IS NULL或IS NOT NULL。
标准写法:
SELECT * FROM t_student WHERE 性别 IS NULL
排序操作——ORDER BY:
使用ORDER BY时,列名上指定ASC或DESC。ASC表示正序,DESC表示倒序。如果不指定则默认为正序。
按年龄排:
SELECT * FROM t_student ORDER BY student_age ASC;
SELECT * FROM t_student ORDER BY student_age DESC;
最后一定要注意!
基本查询SQL的执行顺序:
1.执行FROM 2.WHERE条件过滤 3.SELECT投影 4.ORDER BY排序
SQL语句汇总——数据修改、数据查询的更多相关文章
- .net Core使用sql语句实现批量修改数据状态
上图为查出的所有满足条件的数据,要选中若干条数据将其状态设置为作废 一共选中6条数据,当点击确认后修改数据状态. 前端代码 1.安装NuGet包 [Abp.Dapper]于EFCore中, 2.创建文 ...
- 【转载】SQL语句将一个表的数据写入到另一个表中
在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...
- sql语句中----删除表数据drop、truncate和delete的用法
sql语句中----删除表数据drop.truncate和delete的用法 --drop drop table tb --tb表示数据表的名字,下同 删除内容和定义,释放空间.简单来说就是把整 ...
- 使用sql语句比较excel中数据的不同
使用sql语句比较excel中数据的不同 我所在的项目组是一套物流系统,负责与公司的电商系统进行对接.但是公司的电商系统的省市区的配置和物流系统的省市区的配置有差异,所以需要找到这些差异. 首先找到我 ...
- SQL语句添加删除修改字段及一些表与字段的基本操作
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200)2.删除字段 ALTER TABLE table_NA ...
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP CO ...
- SQL语句添加删除修改字段[sql server 2000/2005]
用SQL语句添加删除修改字段1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME ...
- SQL语句添加删除修改字段
用SQL语句添加删除修改字段1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME ...
- Mysql学习总结(1)——常用sql语句汇总
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章 ...
随机推荐
- 【消灭代办】第5周 - null拷贝,input自适应,进度条加载,颜色随机值
2018.12.10 代办一:javascript中js怎么拷贝null的值 null属于简单类型的数值,直接进行拷贝即可: 2018.12.11 代办二:怎么让input自适应宽度? 这样是写下代办 ...
- HashTab---Windows资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签
HashTab 是一个优秀的 Windows 外壳扩展程序,它在 Windows 资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签.该标签可以帮助你方便地计算文件的 MD5.SHA1 与 C ...
- ALINX公众号
请大家加一下ALINX公众号,后续FPGA资料更新,活动信息,新产品发布将通过微信公众号进行第一时间通知.
- YApi 部署记录
YApi 是一个可本地部署的.打通前后端及QA的.可视化的接口管理平台. Step1:准备Mongo数据库 services: mongo: image: mongo restart: always ...
- Elasticsearch设置最大返回条数
在Elasticsearch中如果需要做分页查询,我们通常使用form和size实现.form指定从有序哪一行开始,size表示从当前开始读取多少行.但是我们发现查询结果最大只能到10000,这是因为 ...
- 创建多线程Thread
创建一个线程: # 方式一from threading import Thread import time def func(n): time.sleep(1) print(n) t = Thread ...
- [LeetCode] Wiggle Sort II 摆动排序之二
Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]... ...
- 数据交互axios的用法
参考: https://www.cnblogs.com/zhouyangla/p/6753673.html
- java开学考试有感以及源码
一.感想 Java开学测试有感 九月二十号,王老师给我们上的第一节java课,测试. 说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还 ...
- 微信sdk 图片上传 两种方法 上传一张显示一张 并附带微信图片放大功能和删除功能
html <!--上传图片--> <div class="upload-mod"> <div class="up-box" id= ...