SQL

查询

select 字段列表 from 表名;
​
select id as 序号,name as 姓名 from 表名;#给字段取别名,最终显示的是别名
​
select * from 表名; #查询所有的字段

查询单个字段 不重复记录 distinct

select distinct 字段名 from 表名;

where 后边 可以接的条件

=   等于
>  大于
<  小于
>= 大于等于
<= 小于等于
!= 不等于
and 并且
or  或者
​
SELECT f_id as 序号,f_name as 名称,f_price as 价格 FROM fruits where f_price>10 and f_name='banana';
​

模糊查询

select * from 表名 where 字段名 like 'n%';
select * from 表名 where 字段名 like '%n%';
select * from 表名 where 字段名 like '%n';

查询字段是否允许为空

`select 字段名 from where 字段名 is not null;
`select 字段名 from where 字段名 is null;

排序 order

  • asc 为正序 ,默认

  • desc 为降序

select * from fruits where f_name is not null order by f_price; #默认是正序
select * from fruits where f_name is not null order by f_price asc; #跟上面效果一样
select * from fruits where f_name is not null order by f_price desc;#降序排列 

多字段排序

select * from 表名 where 字段名 is not null order by 字段名 asc,字段名 desc;
如果第一个字段已经将结果排好 那么第二个字段 会被忽略
s_id的值 多个数据行是也一样的  那么 继续按照第二个字段进行排序 

限制结果集 limit

select * from 表名 where 字段 is not null order by 字段名 asc,字段名 desc limit 10; #只显示符合结果的前十个

聚合函数

函数 说明
sum 求和
count 统计
max 最大值
min 最小值
avg 平均值

select 函数名(字段名) from 表名;

mysql> select max(f_price) from fruits;mysql> select min(f_price) from fruits;mysql> select sum(f_price) from fruits;mysql> select avg(f_price) from fruits;

分组

select 字段名 from 表名 group by 字段;
select 字段,avg(字段) from 表名 group by 字段名;
按照字段字段进行分组 ,然后列出每个每个分组的平均值

group_concat

separator 指定连接符

mysql> select s_id,group_concat(f_price separator '-') as f_price from fruits group by s_id;
+------+------------------+
| s_id | f_price          |
+------+------------------+
|  101 | 10.20-5.20-3.20  |
|  102 | 5.30-11.20-10.30 |
|  103 | 2.20-9.20        |
|  104 | 5.50-6.40-7.60   |
|  105 | 2.60-11.60-8.20  |
|  106 | 15.60            |
|  107 | 3.60-3.60        |
+------+------------------+
7 rows in set (0.00 sec)mysql> select s_id,group_concat(f_price order by f_id separator '-') as f_price from fruits group by s_i
id;
+------+------------------+
| s_id | f_price          |
+------+------------------+
|  101 | 5.20-10.20-3.20  |  #这三个值  按照 f_id 进行正向排序
|  102 | 11.20-10.30-5.30 |
|  103 | 2.20-9.20        |
|  104 | 7.60-6.40-5.50   |
|  105 | 8.20-2.60-11.60  |
|  106 | 15.60            |
|  107 | 3.60-3.60        |
+------+------------------+
7 rows in set (0.00 sec)mysql> select s_id,group_concat(distinct f_price order by f_id separator '-') as f_price from fruits grooup by s_id;
+------+------------------+
| s_id | f_price          |
+------+------------------+
|  101 | 5.20-10.20-3.20  |
|  102 | 11.20-10.30-5.30 |
|  103 | 2.20-9.20        |
|  104 | 7.60-6.40-5.50   |
|  105 | 8.20-2.60-11.60  |
|  106 | 15.60            |
|  107 | 3.60             | #相同的只留下了 一个
+------+------------------+
7 rows in set (0.00 sec)

在分组的结果上进行统计

mysql> select s_id,count(f_price) as 数量 ,group_concat(f_price separator '-') as 价格列表 from fruitsgroup by s_id;
+------+--------+------------------+
| s_id | 数量   | 价格列表         |
+------+--------+------------------+
|  101 |      3 | 10.20-5.20-3.20  |
|  102 |      3 | 5.30-11.20-10.30 |
|  103 |      2 | 2.20-9.20        |
|  104 |      3 | 5.50-6.40-7.60   |
|  105 |      3 | 2.60-11.60-8.20  |
|  106 |      1 | 15.60            |
|  107 |      2 | 3.60-3.60        |
+------+--------+------------------+
7 rows in set (0.00 sec
Copy

分组的结果上进行统计 然后再过滤 having

mysql> select s_id,count(f_price) as 数量 ,group_concat(f_price separator '-') as 价格列表 from fruits
group by s_id having 数量=1;
+------+--------+--------------+
| s_id | 数量   | 价格列表     |
+------+--------+--------------+
|  106 |      1 | 15.60        |
+------+--------+--------------+
1 row in set (0.00 sec)

多表联合查询

  1. 内连接

select 表1.字段名,表2.字段名,表n.字段名 where 条件 ;
  1. 外连接

  • 左连接

select 表1.字段,表2.字段 from 表1 left join 表2 on 条件;
  • 右连接

select 表1.字段,表2.字段 from 表1 right join 表2 on 条件;
  1. 多表查询

select 表1.字段1,表n.字段 from 表名1,表名2,表3 where 表1.字段=表2.字段 and 表2.字段=表3.字段;
  1. 子查询

mysql> select * from users where uid in (1,2,3,5);
+-----+--------------+----------+
| uid | username     | password |
+-----+--------------+----------+
|   1 | 迪丽热巴     | 123456   |
|   2 | 古力娜扎     | 654321   |
|   3 | 热依扎       | 123123   |
|   5 | 珍塔玛莎     | 111111   |
+-----+--------------+----------+
4 rows in set (0.06 sec)mysql> select * from users where uid in (select uid from order_goos);
+-----+--------------+----------+
| uid | username     | password |
+-----+--------------+----------+
|   1 | 迪丽热巴     | 123456   |
|   2 | 古力娜扎     | 654321   |
|   3 | 热依扎       | 123123   |
|   5 | 珍塔玛莎     | 111111   |
+-----+--------------+----------+
4 rows in set (0.00 sec)

union union all

两张没有关联的表 字段内容一样 可以放在一起显示 用union或者union all

union 是 union all 的去重结果

mysql> select uid from order_goos union select uid from users;
+-----+
| uid |
+-----+
|   2 |
|   1 |
|   3 |
|   5 |
|   8 |
|   4 |
+-----+
6 rows in set (0.00 sec)mysql> select uid from order_goos union all select uid from users;
+-----+
| uid |
+-----+
|   2 |
|   1 |
|   3 |
|   5 |
|   2 |
|   1 |
|   8 |
|   1 |
|   2 |
|   3 |
|   4 |
|   5 |
+-----+
12 rows in set (0.00 sec)mysql> select uid,name from order_goos union all select uid,username from users;
+-----+--------------+
| uid | name         |
+-----+--------------+
|   2 | 苹果鼠标     |
|   1 | skii精华     |
|   3 | 乳霜         |
|   5 | 寇驰包包     |
|   2 | 阿玛尼       |
|   1 | iPhone12     |
|   8 | 平板电脑     |
|   1 | 迪丽热巴     |
|   2 | 古力娜扎     |
|   3 | 热依扎       |
|   4 | 蒙娜丽莎     |
|   5 | 珍塔玛莎     |
+-----+--------------+
12 rows in set (0.00 sec)

修改update

update 表名 set 字段=值 where 条件;

删除 delete

drop table 表名 #删除表结构和数据

delete from 表名 #删除整个表的内容

delete from 表名 [where 条件] #根据条件删除指定内容

SQL的增删改查 的使用相关推荐

  1. SQL(一) —— 增删改查

    SQL基础模块 SQL(一) -- 增删改查 一.初识数据库 1.1 DBMS的种类 1.2 RDBMS的常见系统结构 1.3 SQL 二.增删改查 2.1 数据类型 2.2 数据库操作 2.3 数据 ...

  2. php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...

    一.增删改查sql语句语法: 增: INSET INTO `表名` SET `字段名`=值 (也可写别名用,值前面加冒号->:别名): 删: DELETE FROM `表名`  WHERE `字 ...

  3. Web SQL介绍,web sql中增删改查、数据存储位置、运行脚本、建表建库

    Web SQL: Web SQL是一种简单的存在服务器中的数据库,运行在javascript脚本中,其数据储存在计算机Application中Web SQL中. web sql提供了三个核心方法: 1 ...

  4. SQL语句增删改查公司-员工3表典型案例

    基础原生SQL增删改查,一般公司业务表,必知必会基础流程! 程序开发之大法,从数据库开始,不管是sqlserver,Oracle数据库还是其他MySQL等等的数据库.都是从写SQL语句开始.需要您必知 ...

  5. SQL语句(增删改查)

    个人感觉SQL语句不用刻意的去记忆,多使用,用到的时候忘记了就查找一下,使用的频繁,自然就记住了. SQL语句使用:数据库操作SQL.数据表操作SQL.数据记录操作SQL (一)数据库SQL 1.创建 ...

  6. ​MYSQL中常用的SQL语句​(增删改查)

    MYSQL中常用的SQL语句 一.增删改查 1.新增 指定字段插入: INSERT INTO <表名> (<字段1>, <字段2>, <字段3>) VA ...

  7. MySQL数据库安装以及SQL基本增删改查

    目录 1.介绍下数据库 1.1.DB概念和特点 1.2.常见DB软件 1.3.数据库结构 2.MySQL安装与使用 2.1.安装 2.2.卸载 2.3.MySQL服务启动与关闭 2.4.MySQL登录 ...

  8. sql入门--增删改查

    参考学习 https://www.lintcode.com/course/list/?tagId=864&type=1&chargeStatus=-1 以下是我的学习笔记. 增删改查 ...

  9. 基本sql语句--增删改查

    增 insert into 表名 values (值1,值2...): 也可以指定所要插入的列: insert into 表名 (列1,列2...) values (值1,值2...); 注:一般My ...

  10. 数据库知识点+sql语句增删改查(详解)

    # 数据库相关SQL 1.查询所有数据库 - 格式: show databases; 2.创建数据库 - 格式: create database 数据库名 charset=utf8/gbk; - 举例 ...

最新文章

  1. Java菜鸟教程math类_Java Number Math 类
  2. 【sqlite常用操作SQL语句】
  3. java 跳转action_JS 跳转到指定Action | 学步园
  4. 1107班12月第5周 班级计划 为s1结业答辩做准备
  5. make_pair 简单使用
  6. 微博回应裁员;罗永浩股权被冻结;“隐形贫困”人群最爱苹果 | 极客头条
  7. 贵州大数据崛起背后的阿里云力量
  8. 最容易“杀死”女人的30句话
  9. 图书馆占座系统(一)
  10. cmake 下载和安装
  11. Bootstrap 下拉菜单(Dropdowns)
  12. sql数据库可以创建同义词_如何使用同义词简化SQL Server数据库对象的使用
  13. [026] 微信公众帐号开发教程第2篇-微信公众帐号的类型(普通和会议)
  14. 程序员必知必会网络传输之TCP/IP协议族,共864页的详解文档让你原地起飞!
  15. 牛客Steins;Gate(原根+FFT)
  16. 对WEB安全工程师的理解
  17. 彩色花砖机技术参数列表厂家分享
  18. 二维数组名做参数传递问题
  19. 前端知识零零散散,如何高效学习?
  20. 将GIF转成视频MP4、MOV

热门文章

  1. unity实现单个打字输入效果
  2. 不用双系统,Mac能直接玩Windows游戏了
  3. 模拟计算机难以实现,人工智能的现状及今后发展趋势展望
  4. c语言 读取摄像头图片分辨颜色,opencv摄像头捕获识别颜色
  5. 中国的亲戚关系您理顺了吗?
  6. 解决chrome下载后一打开就是hao.123
  7. DOTA数据集分割,并将txt转为xml
  8. QQ空间伤感日志_其实放手不是不爱你
  9. 图解电动汽车:电动汽车发展历程
  10. 感悟:20条不被发现的职场潜规则