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 数据库 数据操作的更多相关文章

  1. Database学习 - mysql 数据库 表操作

    mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...

  2. Database学习 - mysql 数据库 事务操作

    事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction   开启事务 rollback  回滚事务,即撤销指定的 ...

  3. Database学习 - mysql 连接数据库 库操作

    连接数据库 语法格式: mysql -h 服务器IP -P 端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符 示例: mysql -h 127.0.0.1 ...

  4. 第八章| 2. MySQL数据库|数据操作| 权限管理

    1.数据操作 SQL(结构化查询语言),可以操作关系型数据库 通过sql可以创建.修改账号并控制账号权限:  通过sql可以创建.修改数据库.表:  通过sql可以增删改查数据: 可以通过SQL语句中 ...

  5. MySQL 数据库 -- 数据操作

    数据的增删改 一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过 ...

  6. MySQL数据库----数据操作

    注意的几点:1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一.操作文件夹(库) 增:create database db1 charset utf8; 删:drop d ...

  7. Database学习 - mysql 数据库 索引

    索引 索引在mysql 中也叫 '键',是存储引擎用来快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要. 索引优化应该是对查询性能优化 ...

  8. Database学习 - mysql 数据库 多表/复合/子 查询

    多表查询 多表查询,基本规则,通过两表有关联字段的进行条件匹配查询 内连接查询 方式一: SELECT 查看字段名[,查看字段名] FROM 一表名,二表名 WHERE 一/二表.字段 = 一/二表. ...

  9. Database学习 - mysql 数据库 外键

    外键 外键约束子表的含义:如果在父表中赵达不到候选键,则不允许在子表上进行insert/update 外键预约对父表的含义:在父表上进行update/delete以更新或删除子表中有一条或多条对应匹配 ...

随机推荐

  1. ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 i题 Minimum(线段树)

    描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. ...

  2. Codeforces Round #337 (Div. 2) C. Harmony Analysis

    题目链接:http://codeforces.com/contest/610/problem/C 解题思路: 将后一个矩阵拆分为四个前一状态矩阵,其中三个与前一状态相同,剩下一个直接取反就行.还有很多 ...

  3. shell 一

    1.shell是什么 shell是一种脚本语言 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维,能大大增加我们的运维效率 2.shell脚本 ...

  4. 自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表、Applications表、 Mapplings表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表.Applica ...

  5. 学习Spring Boot:(二十八)Spring Security 权限认证

    前言 主要实现 Spring Security 的安全认证,结合 RESTful API 的风格,使用无状态的环境. 主要实现是通过请求的 URL ,通过过滤器来做不同的授权策略操作,为该请求提供某个 ...

  6. luogu2634 聪聪可可 (树形dp)

    要求出两点间距离==0(mod3) 的数量,然后除以(n*n) 设f[i][j]为i的子树到i的距离==j(mod3)的数量,然后做树形dp即可 因为要最简,所以要求一下gcd,然后除下去 #incl ...

  7. Luogu 2679 子串 (动态规划)

    Luogu 2679 NOIP 2015 子串 (动态规划) Description 有两个仅包含小写英文字母的字符串 A 和 B.现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k ...

  8. A1069. The Black Hole of Numbers

    For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...

  9. 【模板】kmp

    引理:当计算第 \(i\) 位的失配指针时,若 \(j_0\) 是一个候选条件,那么小于 \(j_0\) 的最大候选条件是 \(fail[j_0]\). 证明:反证法.假设存在 \(j_1\),使得\ ...

  10. C# winform C/S WebBrowser 微信第三方登录

    网上很多的资料都是B/S结构的,这里是基于C# C/S 结构的微信第三方授权登录 一.准备知识 1 http Get和Post方法.做第三方授权登录,获取信息基本上都是用get和post方法,做之前需 ...