开源数据库MYSQL DBA运维实战 第二章 SQL

这篇具有很好参考价值的文章主要介绍了开源数据库MYSQL DBA运维实战 第二章 SQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、SQL语言分类

二、名词解释

三、DDL

1.DDL库

1.1定义库

创建业务数据库

        语法:CREATE  DATABASE   数据库名;

        数据库命名要求:

                区分大小写

                唯一性

                不能使用关键字如create  select

                不能单独使用数字和特殊符号如-

                正常的:用拼音或单词即可

查看所有数据库

SHOW  DATABASES;

1.2选择/进入数据库

USE  数据库名

SELECT   database();    调用函数,查询当前库

1.3删除数据库

DROP  DATABASE  数据库名;

1.4系统中的位置

/var/lib/mysql         数据库的实体,清理备份

2.数据类型

2.1数值类型

整数 int

浮点数 float double

2.2字符串类型

字符系列CHAR和VARCHAR

枚举系列ENUM

集合类型SET

2.3时间和日期类型

年YEAR

日期DATE

时间TIME

日期和时间DATETIME

3.DDL表

创表目的

        表是数据库存储数据的基本单位

        表由若干个字段(列)组成

        主要用来存储数据记录(行)

数据库实例1

  • 创库        create  database  haha;
  • 使用库     use   haha;
  • 创建表     create   table   t1  (id  int);
  • 查看所有表名      show  databases;
  • 插入数据             insert   into   t1   values  (1);
  • 查询所有数据      select   *   from   t1;
  • 删除表                 drop   table   t1;

数据库实例2

  • 创两列的表格-序号和姓名   create  table  t2  (id  int,  name  varchar(20));
  • 查看表结构     desc  t2
  • 插入数据        insert  into  t2   values   (1,"zhangsan");
  • 查询所有数据    select   *   from   t2;

数据库实例3

创建表               create  database  school; use  school;

                        create  table   student1(id   int,name  varchar(20),sex  enum('m','f'),age int);

查看表名        show tables;

表中插入内容   insert  into  student1  values( 1,"zhangsan",'m',18);

查看表内容       select   *   from   student1;

查看表结构       desc   student1;

四、DML

1.插入数据INSERT

2.更新数据UPDATE

update  t1  set  id=2 where name="zhangsan";

修改mysql数据库管理员root账户的密码

update  mysql.user  set  authentication_string=password("Root123@")  where user="root";

3.删除数据DELETE

delete  from  t2    where  name="zhangsan";

五、DQL

1.简单查询

select   *   from  student;

select  id,name,age   from  student;

四则运算查询

select  id,name,age*10   from  student;

2.条件查询

单条件查询where

select  name,post  from  employee  where  post="hr";

多条件查询and/or

select  name,salary  from  employee  where  post='hr'  and/or  salary>1000;

关键字between and在什么之间

select  name,salary  from  employee  where  salary between 5000  and  10000;

select  name,salary  from  employee  where  salary  not   between 5000  and  10000;

关键字in集合查询

select  name,salary  from  employee  where  salary in (4000,5000,6000,9000);

select  name,salary  from  employee  where  salary  not  in (4000,5000,6000,9000);

关键字is  null

select  name,salary  from  employee  where  salary  is  null; 

select  name,salary  from  employee  where  salary  is   not    null;

关键字like模糊查询

select  *  from  employee  where  name  like  'a%';      %表示任意多个字符

select  *  from  employee  where  name  like  'a_';       _表示任意一个字符

3.查询排序

select  *  from  employee  order  by   salary  asc;      升序

select  *  from  employee  order  by   salary  desc;      降序

select  *  from  employee  order  by   salary  asc   limit  5;      前五

六、DCL

1.权限级别

Global  level 所有库,所有表的权限
Database  level 某个数据库中的所有表的权限
Table  level 库中的某个表的权限
Column  level 表中某个字段的权限

2.mysql用户管理

2.1创建用户

CREATE  USER  user1@'localhost'  IDENTIFIED  BY  "Root123@"

  • CREATE   创建(关键字)
  • USER       用户(关键字)
  • user1        用户名称(自定义)
  • @             分隔符  (关键字)
  • ‘localhost’    允许登录的主机   如果是%的话登录全允许,但不包括localhost
  • IDENTIFIED  BY   身份认证(关键字)
  • "Root123@"         用户密码

2.2删除用户

DROP   USER   ‘user1’@‘localhost’;

2.3修改用户密码

root修改自己密码

mysqladmin  -uroot -p'刚才查出来的密码' password  '新改的密码‘

SET  PASSWORD=password('new_passwd');    password函数

FLUSH  PRIVILEGES      刷新权限

丢失root用户密码

当root用户,忘记了密码,可以使用破解的方式来登录系统,修改密码

原理:使系统在启动时,不加载密码文件

1.修改mysql启动设置

vim  /etc/my.cnf

[mysqld]

skin-grant-tables

2.重启mysql,无密码登录

systemctl   restart   mysqld        重启mysql程序

mysql   -uroot       无密码登录

修改自己的密码

        UPDATE  mysql.user  SET   authentication_string=password("root")  where user='root'  and  host='localhost';

        FLUSH   PRIVILEGES;

3.修改mysql启动设置,注释掉,跳过密码

2.4登录Mysql

mysql   -P   3306   -u   root   -p   123   mysql   -e   'show tables'

  • -P   MYSQL服务器端口     【默认3306】   
  • -u   指定用户名                  【默认root】
  • -p指定登录密码                   【默认为空密码】
  • 此处mysql未指定登录的数据库         
  • -e接SQL语句

3.mysql权限管理

语法格式

grant   权限列表   on  库名.表名   to   ‘用户名’@‘客户端主机’   [identified  by ‘密码’  with  option参数];

==权限列表

  • all:所有权限(不包括授权权限)
  • select,ypdate      查询更新的权限

==数据库.表名

  • *.*                          所有库下的表
  • web.*                     web库下的所有表
  • web.stu_info          web库下的stu_info表
  • grant  SELECT(id),INSERT(name,age)  ON  mydb.mytbl   to  'user8'@'localhost'   identified  by   'Root123@';

==客户及主机

==with_option参数

GRANT  OPTION     授权选项

4.mysql权限示例

4.1赋予权限

授予目标:授予admin3对bbs库中的所有表,距有所有的权限(不包含授权)

GRANT  ALL  ON   bbs.*  TO  admin@‘%’   IDENTIFIED  BY  'QianFeng@13812345678'

授权实例

4.2回收权限

查看权限

查看自己的权限        SHOW   GRANTS;

查看别人的权限        SHOW   GRANTS   FOR   admin3@‘%’;

回收权限REVOKE

语法:  REVOKE  权限列表  ON  数据库名  FROM  用户名@‘客户端主机’

示例:REVOKE  ALL   PRIVLEGES  ON  bbs.*  FROM  admin3@‘%’; 回收所有权限

删除用户的版本问题

5.6之前,先revoke  all  privilege    再  drop  user

5.7之后,直接    drop  user文章来源地址https://www.toymoban.com/news/detail-829144.html

七、日志

1.日志分类

2.Error  Log

3.Binary  Log

4.Slow  Query  Log

到了这里,关于开源数据库MYSQL DBA运维实战 第二章 SQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源数据库Mysql_DBA运维实战 (部署服务篇)

             1.数据库能做什么 2.数据库的由来 数据库的系统结构❀ 1.数据库系统DBS 2.SQL语言(结构化查询语言) 3.数据访问技术 部署Mysql❀ 1.通过rpm安装部署Mysql 2.通过源码包安装部署Mysql 1.数据库能做什么 a.不论是淘宝,吃鸡,爱奇艺,抖音,快手,知乎,百度贴吧等,众所周

    2024年02月14日
    浏览(46)
  • 开源数据库Mysql_DBA运维实战 (DCL/日志)

      SQL(Structured Query Language 即结构化查询语言) a.DDL语句   数据库定义语言: 数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATE DROP ALTER)  b.DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE c.DQL语句   数据库查询语言:查询数据SELECT d.

    2024年02月12日
    浏览(84)
  • 开源数据库Mysql_DBA运维实战 (DDL语句)

    例如:CREATE  DROP ALTER 定义库{                 创建业务数据库: CREAATE DATABASE   ___数据库名___ ;                 数据库名要求{                                         a.区分大小写                                         b.唯一性  

    2024年02月13日
    浏览(57)
  • 开源数据库Mysql_DBA运维实战 (修改root密码)

    本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql set password for 用户名@localhost = password(‘新密码’); 例子:mysql set password for root@localhost = password

    2024年02月12日
    浏览(47)
  • 开源数据库Mysql_DBA运维实战 (DML/DQL语句)

    DML/DQL DML         INSERT    实现数据的  插入                 实例:         DELETE   实现数据的  删除                 实例:         UPDATE   实现数据的  更新                  实例1:                  实例2:          

    2024年02月13日
    浏览(47)
  • 高级DBA带你处理Mysql数据库10亿大数据条件下迁移实战

    在实际工作中,有些特殊的场景需要进行生产数据迁移,并且生产环境的数据量非常大,比如上10亿数据,并且迁移实施的时间并有所限制,比如9小时内、48小时内,必须恢复生产。 并且在这么庞大的数据量条件下,还要进行数据过滤调整! 此种情况下,传统Java jdbc多线程的

    2024年04月26日
    浏览(49)
  • MySQL运维实战(3.2) 常见数据库连接失败问题排查

    作者:俊达 我们经常会遇到一些数据库连接失败或访问报错的问题。收集并分析具体的报错信息,可以帮助我们迅速定位问题。 1、客户端到服务端的网络是否畅通,服务端端口是否能连通。 使用ping、telnet等工具探测服务端的端口是否能访问。 如果端口不通,要先排除网络

    2024年01月21日
    浏览(64)
  • mysql-DBA(1)-数据库备份恢复-导入导出-日志解释

    log: hdd data :ssd  ,备份和导出都慢,缓冲池有污染。 逻辑备份:把所有的命令转换成sql语句。 修改配置文件: -A 备份所有 -B 备份哪个数据库 --master-data=1 同步 内容: 备份参数: 1.备份成文件,里面就是sql语句 2.routine: 3.trigger 触发器 4.event: 定时任务 5.-B 数据库 1.有-B 表

    2024年03月09日
    浏览(71)
  • 【数据库】第二章 MySql的安装和部署

    PS :仅仅是一个产品,Oracle旗下的小型数据库。广泛应用在中小型项目中,特征体积小速度快整体成本低。尤其是开源,所以很多中小型项目为了降低成本纷纷选用MySql作为数控存储介质。 1、底层语言使用C、C++编写的。并且使用多种编译器进行测试,以确保源码的可移植性

    2024年01月25日
    浏览(51)
  • 全网唯一解决Mysql数据库宕机生产事故的通用方法高级DBA真实案例解答

    国内90%的生产数据库用的最多的就是MySql数据库。企业软件生产环境通常情况下,都有一主一从,或者一主多从的HA高可用架构。结合作者本人实际经验结合一个实际的生产数据库宕机的例子,来讲解应该用怎么样的思路去解决问题。在生产事故过程中,有那些注意的关键点

    2024年02月05日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包