zoukankan      html  css  js  c++  java
  • 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 ;  #

    #############################################################################################################

    蓦然回首,那人却在,灯火阑珊处。
  • 相关阅读:
    hdu 4614 线段树 二分
    cf 1066d 思维 二分
    lca 最大生成树 逆向思维 2018 徐州赛区网络预赛j
    rmq学习
    hdu 5692 dfs序 线段树
    dfs序介绍
    poj 3321 dfs序 树状数组 前向星
    cf 1060d 思维贪心
    【PAT甲级】1126 Eulerian Path (25分)
    【PAT甲级】1125 Chain the Ropes (25分)
  • 原文地址:https://www.cnblogs.com/linux-186/p/7695592.html
Copyright © 2011-2022 走看看