了解:Mysql 账号相关

创建账号:

权限:user(所有库的权限)-->db(某个库的权限)-->table_priv(某张表的权限)

-->columns_oriv(某个字段的权限)

创建账号:create user ‘tom’(账号)@’客户端ip(%代表所有ip都可)’ identified by ‘123’(密码)

登录:mysql -utom -p’123’ -h 服务端ip -P3306

创建账号并授权:只有root账号能为其它账号授权

grant all(不包括grant权限) on *.* to ‘tom’@’%’ identified by ‘123’

其中:

*.*代表user权限

db.*代表db权限

db.t1代表table_priv权限

grant select(id) on db.t1 代表columns_oriv权限

# 修改完权限一定要

flush privileges;

单表查询

完整语法

select distinct 字段1,字段2,字段3,... from 库名.表名

where 约束条件

group by 分组依据

having 过滤条件

order by 排序的字段

limit 限制显示的条数

关键字执行优先级:

from    where    group by    having    distinct    order by    limit

字符拼接:

select concat('名字: ',name) as new_name,concat("年龄: ",age) as new_age from emp;

select concat(name,":",age,":",sex) from emp;

select concat_ws(":",name,age,sex) as info from emp;

了解:流程控制

SELECT (

CASE

WHEN NAME = 'egon' THEN

NAME

WHEN NAME = 'alex' THEN

CONCAT(name,'_BIGSB')

ELSE

concat(NAME, 'SB')

END

) as new_name

FROM

emp;

where关键字

_代表任意单个字符

%代表任意无穷个字符

select * from emp where name like "__";

select * from emp where name like "jin%";

select * from emp where id not in (6,9,12);

group by分组

什么是分组:按照所有记录相同的部分进行归类,一定区分度低的字段

为何要分组:当我们要以组为单位进行统计时就必须分组,分组的目的是为了以组为单位进行统计的,再去考虑单条记录毫无意义

set global sql_mode="strict_trans_tables,only_full_group_by"; 设置严格模式

注意:分组之后,只能查到分组的字段以及组内多条记录聚合的成果

select * from emp group by post;

聚合函数

max

min

avg

sum

count

having 过滤条件

where是在分组之前的过滤,即在分组之前做了一次整体性的筛选

having是在分组之后的过滤,即在分组之后专门针对聚合的结果进行进一步的筛选

order by排序

select * from emp order by age asc; # 默认asc升序-》从小到大

select * from emp order by age desc;# desc降序-》从大到小

select * from emp order by age asc,salary desc; # 先按照age升序排列,如果age相同则按照salary降序排

limit 限制显示的条件

select * from emp limit 3;

分页显示

select * from emp limit 0,5; # 从0开始往后取5条

select * from emp limit 5,5; #从5开始往后取5条

正则表达式

select * from emp where name regexp "^jin.*(g|n)$";

多表查询

1、笛卡儿积

select * from emp,dep;

select * from emp,dep where emp.dep_id = dep.id;

select * from emp,dep where emp.dep_id = dep.id and dep.name = "技术";

2、内连接:只取两张表有对应关系的记录

select * from emp inner join dep on emp.dep_id = dep.id;

select * from emp inner join dep on emp.dep_id = dep.id

where dep.name = "技术";

3、左连接: 在内连接的基础上保留左表没有对应关系的记录

select * from emp left join dep on emp.dep_id = dep.id;

4、右连接: 在内连接的基础上保留右表没有对应关系的记录

select * from emp right join dep on emp.dep_id = dep.id;

5、全连接:在内连接的基础上保留左、右面表没有对应关系的的记录

select * from emp left join dep on emp.dep_id = dep.id

union

select * from emp right join dep on emp.dep_id = dep.id;

子查询:就是将一个查询语句的结果用括号括起来当作另外一个查询语句的条件去用

select * from emp where dep_id in (select id from dep where name = "技术" or name = "人力资源");

mysql数据操作的更多相关文章

  1. mysql 数据操作 目录

    mysql 记录的增删改查 mysql 数据操作 单表查询 mysql 数据操作 多表查询

  2. mysql 数据操作 单表查询 目录

    mysql 数据操作 单表查询 mysql 数据操作 单表查询 简单查询 避免重复DISTINCT mysql 数据操作 单表查询 通过四则运算查询 mysql 数据操作 单表查询 concat()函 ...

  3. mysql 数据操作 多表查询 目录

    mysql 数据操作 多表查询 准备 多表连接查询介绍 mysql 数据操作 多表查询 多表连接查询 笛卡尔积 mysql 数据操作 多表查询 多表连接查询 内连接 mysql 数据操作 多表查询 多 ...

  4. mysql 数据操作 单表查询 where 约束 目录

    mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...

  5. mysql 数据操作 单表查询 group by 分组 目录

    mysql 数据操作 单表查询 group by 介绍 mysql 数据操作 单表查询 group by 聚合函数 mysql 数据操作 单表查询 group by 聚合函数 没有group by情况 ...

  6. mysql 数据操作 多表查询 子查询 介绍

    子查询就是: 把一条sql语句放在一个括号里,当做另外一条sql语句查询条件使用 拿到这个结果以后 当做下一个sql语句查询条件mysql 数据操作  子查询 #1:子查询是将一个查询语句嵌套在另一个 ...

  7. SQL学习笔记四之MySQL数据操作

    阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: DML =========== ...

  8. python 基础 9.3 mysql 数据操作

    #/usr/bin/python #coding=utf-8 #@Time   :2017/11/21 0:20 #@Auther :liuzhenchuan #@File   :mysql 数据操作 ...

  9. MySQL数据操作与查询笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...

  10. 《MySQL数据操作与查询》- 综合项目 - 学生管理系统

    <MySQL数据操作与查询>综合项目需求 一.系统整体功能 维护学生信息.老师信息和成绩信息. 支持按多种条件组合查询学生信息和成绩信息. 二.系统的信息需求 一个班级有一个讲师一个班主任 ...

随机推荐

  1. IE浏览器Bug总结

    每每在网上搜索IE浏览器Bug时,总是骂声一片,特别是前端工程师,每天都要面对,IE浏览器特别是IE6,存在很多Bug,对Web标准的支持也拖后腿,但不可否认,IE浏览器是曾经的霸主,它的贡献也是巨大 ...

  2. lnmp、lamp、lnmpa一键安装包(Updated: 2016-4-12)

    lnmp.lamp.lnmpa一键安装包(Updated: 2016-4-12)   文章目录 脚本特性 安装步骤 如何添加虚拟主机? 如何删除虚拟主机? 如何管理ftp账号? 数据备份 如何管理服务 ...

  3. Makefile parameters pass 參數傳遞

    command $make ARCH=7777777777777777777777777777777 Makefile content $(warning $(ARCH)) output Makefi ...

  4. 用tkinter实现的gui小工具

    import tkinter import requests import json from tkinter import * class FindLocation(object): def __i ...

  5. python基础===输入必须为数字的检验的另一种方法

    print("[+]welcome to python3") while True: num = input("please input a num:") if ...

  6. python设计模式之单例模式(一)

    单例设计模式的概念: 单例设计模式即确保类有且只有一个特定类型的对象,并提供全局访问点.一般我们操作数据库的时候为了避免统一资源产生互相冲突,创建单例模式可以维护数据的唯一性. 单例模式的特性: 确保 ...

  7. 2015多校第7场 HDU 5378 Leader in Tree Land 概率DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5378 题意:一棵n个节点的树.对其节点进行标号(1~n).求恰好存在k个节点的标号是其节点所在子树的最 ...

  8. Makefile系列之一 : 书写规则

    1. 规则 target : prerequisites command  2. example excute 为最终生成的可执行文件. 可以通过命令 make clean来删除所有编译时产生的中间文 ...

  9. js判断文件格式及大小

      //判断照片大小 function getPhotoSize(obj){     photoExt=obj.value.substr(obj.value.lastIndexOf(".&q ...

  10. linux命令(32):free命令

    1.显示内存使用情况:free  free –g  free –m 2.以总和的形式显示内存的使用信息: free -t 3.周期性的查询内存使用信息:free -s 10