Database学习 - mysql 数据库 数据操作
mysql数据操作
查询语法
select * | field1,field1 ... from 表名
where 条件
group by 字段
having 筛选
order by 字段
limit 显示条数
条件查询记录
select * from 表名;
select 字段名 from 表名; select distinct 字段名 from 表名;
//distinct 可以去重字段数据
//salary 非空字段 select 字段 as 别名 [,字段 as 别名] from 表名;
//别名应用,只显示,并不影响存储数据. select 字段名 from 表名 where 条件;
// where 语句中可以使用的:
运算符 : > , < , = , <=,>=, !=,<>
区间: 字段 between 10 and 100 //值在 10 到100 之间的
包含关系: 字段 in (10,20,30) //值是10或20或30
匹配数据: 字段 like 'he %' // %表示任意多字符, _表示一个字符.
逻辑运算: and , or ,is
正则表达式: regexp "正则表达式" //having 语句中可以使用的:(跟where 区别是group by 后不能用where)
运算符 : > , < , = , <=,>=, !=,<>
区间: 字段 between 10 and 100 //值在 10 到100 之间的
包含关系: 字段 in (10,20,30) //值是10或20或30
匹配数据: 字段 like 'he %' // %表示任意多字符, _表示一个字符.
逻辑运算: and , or ,is
正则表达式: regexp "正则表达式"
where 跟 having 区别:
1.where 语句只能在分组之前筛选,having可以用在分组之后的筛选;
2.使用where语句的地方都可以用having进行替换
3.having中可以用聚合函数,where中不能
order by 排序(默认升序)
select 字段名 from 表名 where 条件 order by 字段; (升序)
select 字段名 from 表名 where 条件 order by 字段 desc; (降序)
group by 分组查询
group by 分组查询:
注意,按分组条件分组后每一组只会显示第一条记录
其后可以接多个列名,也可以跟having字句,对group by 的结果进行筛选. select * from 表名 group by 字段名 select * from 表名 group by 2 //表示以表第二个字段分组查询
limit 查询
select * from 表名 limit 2; //显示前两条
select * from 表名 limit 2 , 2 ; //跳过2条显示2条
exists 关键字
select * from 表名 where exists 条件
在where exists 返回是一个 true/false ,true则执行select * from 表名,false 返回为空.
聚合函数:
常用的组函数
①每个组函数接收一个参数
②默认情况下,组函数忽略列值为null的行,不参与计算
③有时,会使用关键字distinct剔除字段值重复的条数
注意:
1)当使用组函数的select语句中没有group by子句时,中间结果集中的所有行自动形成一组,然后计算组函数;
2)组函数不允许嵌套,例如:count(max(…));
3)组函数的参数可以是列或是函数表达式;
4)一个SELECT子句中可出现多个聚集函数.
查询过程中 各语句的执行顺序:
重点:
select , from , where , group by , having , order by 执行顺序.
mysql 在执行sql语句时的执行顺序:
from > where > select > group by > having > order by
插入数据
# set方式插入
insert into 表名 set 字段 = 数值; # 一次性插入多个
insert into 表名 (字段1, 字段2) values('数值1', '数值2'),('数值1', '数值2'); # 插入时有主键冲突,改为更新字段操作
insert into 表名 (字段1, 字段2) values('数值1', '数值2') on duplicate key update '字段2 = '数值2'; #冲突替换,否则插入
replace into 表名(字段1, 字段2) values('数值1', '数值2');
修改数据
update 表名 set 字段名 = 新数值[,字段名 = 新数值] where 筛选修改字段 = 筛选数值;
删除数据
delete from 表名 where 筛选删除字段 = 筛选数值[or/and 筛选删除字段 = 筛选数值];
删除表
delete table 表名 ;
truncate 表名; //这种操作会删除表后重新建同名表,字段多时
Database学习 - mysql 数据库 数据操作的更多相关文章
- Database学习 - mysql 数据库 表操作
mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...
- Database学习 - mysql 数据库 事务操作
事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction 开启事务 rollback 回滚事务,即撤销指定的 ...
- Database学习 - mysql 连接数据库 库操作
连接数据库 语法格式: mysql -h 服务器IP -P 端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符 示例: mysql -h 127.0.0.1 ...
- 第八章| 2. MySQL数据库|数据操作| 权限管理
1.数据操作 SQL(结构化查询语言),可以操作关系型数据库 通过sql可以创建.修改账号并控制账号权限: 通过sql可以创建.修改数据库.表: 通过sql可以增删改查数据: 可以通过SQL语句中 ...
- MySQL 数据库 -- 数据操作
数据的增删改 一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过 ...
- MySQL数据库----数据操作
注意的几点:1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一.操作文件夹(库) 增:create database db1 charset utf8; 删:drop d ...
- Database学习 - mysql 数据库 索引
索引 索引在mysql 中也叫 '键',是存储引擎用来快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要. 索引优化应该是对查询性能优化 ...
- Database学习 - mysql 数据库 多表/复合/子 查询
多表查询 多表查询,基本规则,通过两表有关联字段的进行条件匹配查询 内连接查询 方式一: SELECT 查看字段名[,查看字段名] FROM 一表名,二表名 WHERE 一/二表.字段 = 一/二表. ...
- Database学习 - mysql 数据库 外键
外键 外键约束子表的含义:如果在父表中赵达不到候选键,则不允许在子表上进行insert/update 外键预约对父表的含义:在父表上进行update/delete以更新或删除子表中有一条或多条对应匹配 ...
随机推荐
- git-stash用法小结
[时间:2016-10] [状态:Open] [关键词:git,版本控制,版本管理,stash,git储藏] 缘起 今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因 ...
- BZOJ2282 SDOI2011消防/NOIP2007树网的核(二分答案+树形dp)
要求最大值最小容易想到二分答案.首先对每个点求出子树中与其最远的距离是多少,二分答案后就可以标记上一些必须在所选择路径中的点,并且这些点是不应存在祖先关系的.那么如果剩下的点数量>=3,显然该答 ...
- AC自动机-HDU3065-简单题
http://acm.hdu.edu.cn/showproblem.php?pid=3065 需要记录匹配情况的AC自动机,没有清空一些数组导致wa了几发. /*------------------- ...
- Get The Treasury HDU - 3642(扫描线求三维面积交。。体积交)
题意: ...就是求体积交... 解析: 把每一层z抽出来,计算面积交, 然后加起来即可..! 去看一下 二维面积交的代码 再看看这个三维面积交的代码.. down函数里 你发现了什么规律!!! 参考 ...
- Java8的flatMap如何处理有异常的函数
Java8的flatMap函数,作用是:如果有值,为其执行mapping函数返回Optional类型返回值,否则返回空Optional. 见到的映射函数往往都只有一句话,连大括号都不需要加的,如下: ...
- Leetcode 190.颠倒二进制位 By Python
颠倒给定的 32 位无符号整数的二进制位. 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 000000101001010000011110 ...
- Mysql数据库基础小实例 学员管理系统菜单
package test; import java.sql.*; import java.util.Scanner; public class testSql002_StudentTest { /** ...
- Python文件和异常
程序和运行时数据是在内存中驻留的,涉及到数据交换的地方,通常是磁盘.网络等,因此需要IO接口. IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单 ...
- 在kubernetes集群上用helm安装Datadog(Monitoring)
Datadog is a monitoring service that gathers monitoring data from your containers within your Azure ...
- springboot的跨域
https://www.cnblogs.com/520playboy/p/7306008.html 1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出 ...