博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
my_mysql
阅读量:5753 次
发布时间:2019-06-18

本文共 4040 字,大约阅读时间需要 13 分钟。

###一键偷懒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 ;  #

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

 

转载于:https://www.cnblogs.com/linux-186/p/7695592.html

你可能感兴趣的文章
[CareerCup] 1.6 Rotate Image 翻转图像
查看>>
Execution Plan 执行计划介绍
查看>>
29.6. nm - list symbols from object files
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记
查看>>
jQuery中$.fn的用法示例介绍
查看>>
Python中的画图初体验
查看>>
又一个半成品库 weblog rpc client
查看>>
关于前端的photoshop初探的学习笔记
查看>>
Java程序员的日常 —— 响应式导航Demo
查看>>
敏捷软件开发宣言--常读常新
查看>>
objective-c内存管理基础
查看>>
httpServlet,GenericServlet,Servlet源码分析
查看>>
easyUI——datebox验证和自定义取消按钮
查看>>
第 20 章 Nagios
查看>>
MagSpoof:能预测并窃取你下一张信用卡号码的廉价设备
查看>>
python接口自动化9-https请求(SSL)
查看>>
MySQL的rpm和源码两种安装操作
查看>>
JS中的!=、== 、!==、===的用法和区别
查看>>
【&#9733;】IT界8大恐怖预言
查看>>
sap关于价值串的说法(转载)
查看>>