my_mysql
###一键偷懒YUM安装MySQbL###
1.安装mysql数据库
#yum install -y mariadb-server mariadb
2.登录mysql数据库常用选项
  -h:指定服务端主机地址
  -u: 指定登入的用户名
  -p:指明密码
  -D:指明登入的数据库
  -e:连接之后直接运行SQL语句,不进入交互式模式(可以在脚本中使用)
3.mysql语言分为3大类
DDL:数据库定义语言 create , alter , drop
DML:数据库操作语言 insert , delete , update , select
DCL:数据库控制语言 grant , revoke
4.数据库DDL语言
创建库 create database zxxsql;
  删除库  drop database zxxsql;
  修改库   alter database zxxsql character set = utf8
  创建表    create table home (id int not null primary key auto_increment, name varchar(250) not null, class varchar(250) not null);
  查看表结构    desc home;
  修改表
          添加字段:alter table home add gender enum('f','m');
          删除字段:alter table home drop gender;
          修改字段:
                   alter table home change name username varchar(100) after id;
                   alter table home modify username varchar(100) first;
  删除表:drop table home;
     5.数据库DML语言
<1>insert 在home表中插入3组class和username数据。
insert into home (class,username) values ('ops', '运维开发'), ('opsdev', '运维开发'), ('开发', 'java开发');
<2>update 修改home表数据
update home set class = '开发部门' where id = 1;
<3>delete 删除表数据
delete from home where class = '开发';
<4>select
    查询表上的所有的数据   select * from home;
    查询部分数据  select id,class from home;
        # 还可以取个别名    select id as num,class from home;
    使用where子句过滤
          # 可以使用的算数运算符:>, < , >=, <=, ==, != 
          # 可以使用连接词:and , or
          select * from home where id >= 2;
          select * from home where id <= 2 and id >1;
          select * from home where id between 1 and 2;
    # 可以使用like做模糊匹配(%:表示任意长度的字符,_:表示任意单个字符)
        select * from home where class like 'ops%';
    # 可以使用null对值进行判断
        select * from home where id is not null; 
        select * from home where id is null;
    使用order指定排序(默认是asc,升序排列)
         select * from home order by id desc;
6.DCL数据库语言
<1>grant
#先创建用户,再授权
create user zxx@'172.16.19.%' identified by '123456';
    grant all on *.* to zxx@'172.16.19.%';
    flush privileges;
    #创建用户的同时给用户授权
    grant all on *.* to zxx@'172.16.19.%' identified by '123456';
    flush privileges;
    #给用户授予某些权限
    show grants for zxx@'172.16.19.%';
<2>查看用户权限
show grants for zxx@'172.16.19.%';
<3>删除用户
    delete from mysql.user where user = "zxx";
    flush privileges;
7.select 查询语句详解
  -1:where子句:指明过滤条件
        可以使用的算数运算符:+, -, * ,/ ,= ,!= ,<=, >= 
        between 较小的数 and 较大的数
        in (较小的数,较大的数)
        is null 或 is not null
        like模糊匹配
    例如:
        select * from home where id >= 2;
        select * from home where id <= 2 and id >1;
        select * from home where id between 1 and 2;
        select * from home where id in (1,2); # 从1和2中取值
        select * from home where class like 'ops%';
        select * from home where id is not null; 
        select * from home where id is null;
  -2:group by 子句:根据指定的查询条件将查询结构进行分组,用于做聚合运算
        使用聚合函数:avg( ) , max( ) , min( ) , count( ), sum( ) 
        select age,gender from students group by gender; 
        select avg(age),gender from students group by gender; 
        select min(age), gender from students group by gender;
        select max(age), gender from students group by gender;
        select count(id), gender from students group by gender;
  -3:having子句:将分组之后的结果再次过滤
        select avg(age) as 'average_age', gender from students group by gender having average_age > 50;
  -4:order by子句 :根据指定的字段对查询结果进行排序,默认为升序,降序使用关键字desc
        select name,age from students order by age desc;
  -5:limit 子句:对查询的结果进行输出行数的限制 
        select name,age from students order by age desc limit 8; # 选前8行
        select name,age from students order by age  limit 4, 2; # 前4个不选,从第五行开始选2行
###总结单表查询次序##########################################################################################################################
子句的书写顺序:
where -> group by -> having -> order by -> limit
例如:                                                              
    select *,avg(score) as '各班平均成绩' from students where id > 1 group by class having avg(score) > 55 order by score desc limit 3 ;  #
#############################################################################################################
my_mysql的更多相关文章
- mysqli_set_charset和SET NAMES优劣分析
		bool mysqli_set_charset ( mysqli $link , string $charset ) 这应该是首选的用于改变字符编码的方法,不建议使用 mysqli_query()执行 ... 
- linux一些工具的安装(三)
		linux(vmware15 centos7)中Docker安装 一.Docker卸载 1.查看已安装的docker安装包 $yum list installed|grep docker 执行后的 ... 
- Docker: 创建带数据的MySql container
		如果需要想要在一个装有docker的机器上启动一个MySql的container,并且整个MySql container有我想要的数据: 1. 先在已有的MySql instance上准备好数据 2. ... 
- Docker容器学习梳理 - 应用程序容器环境部署
		关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ... 
- cenos7.0 安装docker
		使用yum命令在线安装 yum install docker 安装后查看Docker版本 docker -v启动docker:systemctl start docker停止docker:syste ... 
- PHP API中,MYSQL与MYSQLI的持久连接区别
		转载自:http://www.cnxct.com/some-differences-between-mysql-and-mysqli-of-persistent-connection/ 很久很久以前, ... 
- Python爬虫(八)
		源码: import requests import re from my_mysql import MysqlConnect import time,random # 获取招聘详情链接 def ge ... 
- Python爬虫(七)
		源码: import requests import re from my_mysql import MysqlConnect # 获取详情页链接和电影名称 def get_urls(page): u ... 
- Python爬虫(六)
		源码: import requests import re from my_mysql import MysqlConnect # 获取问答信息 def get_contents(page,heade ... 
随机推荐
- Python进阶04函数的参数对应
			我们已经接触过函数(function)的参数(arguments)传递.当时我们根据位置,传递对应的参数.我们将接触更多的 参数传递方式. 回忆一下位置传递: def f(a,b,c): return ... 
- NLP突破性成果 BERT 模型详细解读  bert参数微调
			https://zhuanlan.zhihu.com/p/46997268 NLP突破性成果 BERT 模型详细解读 章鱼小丸子 不懂算法的产品经理不是好的程序员 关注她 82 人赞了该文章 Goo ... 
- g++  编译单个文件和多个文件
			转载:https://www.cnblogs.com/battlescars/p/cpp_linux_gcc.html 1.单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp ... 
- Java使用RandomAccessFile读写文件
			目录 转载自:http://blog.csdn.net/akon_vm/article/details/7429245 Java RandomAccessFile RandomAccessFile是用 ... 
- fastclick使用与 fastclick ios11.3相关bug原因(ios输入框点击变得不灵敏,ios input失焦后,页面上移,点击不了)
			FastClick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击.为了能够立即响应用户的点击事件,就有了FastClick. 安装fastc ... 
- Python--day69--ORM外键的正向查询和反向查询
			什么是正向查询,什么是方向查询? 
- vue 生成 二维码 qrCode 插件 使用 方法
			首先安装方法:(--save 参数会改变package.json 推荐使用 下次直接install就行了) npm install --save qrcode 然后项目使用: import QRCod ... 
- Python--day25--面向对象之封装
			狭义上的封装的例子:(例1)Python就只有两种类型:公有和私有,没有Java中说的那种保护类型 例2: 例3:正常的方法调用私有方法 封装总结: 
- H3C PPP基本概念
- CodeForces 1204E"Natasha, Sasha and the Prefix Sums"(动态规划 or 组合数学--卡特兰数的应用)
			传送门 •参考资料 [1]:CF1204E Natasha, Sasha and the Prefix Sums(动态规划+组合数) •题意 由 n 个 1 和 m 个 -1 组成的 $C_{n+m} ... 
