开源数据库MYSQL DBA运维实战-SQL1语言

开源数据库MYSQL DBA运维实战-SQL1语言

[TOC]

一.SQL语言概述

什么是SQL语言

SQL(Structured Query Language)是“结构化查询语言”,SQL语言由IBM开发,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server 等。

作用

SQL语言主要用于存取数据,查询数据,更新数据和管理关系数据库系统,SQL语言由IBM开发,

分类

DDL(Data Definition Language)数据定义语言等:数据库,表,索引,存储过程;例如CREATE DROP ALTER

DML(Data Manipulation Language)数据操作语言:插入数据INSERT,删除数据DELETE,更新数据UPDATE

DQL(Data Query Language)数据查询语言:查询数据SELECT

DCL(Data Control Language)数据控制语言:例如用户的访问权限GRANT REVOKE

名词解释

1.数据库服务器

运行着数据库应用程序的设备:硬件+系统软件+MySql软件

2.数据库

默认数据库,可以说是一个容器,用来装表的,表的管理单元。
表可以理解为excl

3.记录(行)

信息的载体,字段的管理单元

4.字段(列)

字段名,字段类型(长度),字段约束组成(可选)
字段名:姓名文字不能为空
类型:字符,数字,日期
约束:不能为空,自动增长

二.DDL

DDL-库

定义库

1.1创建业务数据库

语法:CREANT DATABASE + 数据库名;
后面一定要加分号,如果没有加分号,回车,那就再输入一个分号回车也可以,视为同一行。

1.2数据库名要求

区分大小写
唯一性,已经存在名字不能再使用
不能使用关键字,如:create select
不能单独使用数字和特殊符号
正常的:用拼音或单词即可

1.3创建数据库

mysql> create database discuz;
Query OK, 1 row affected (0.00 sec)

1.4查看所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| discuz             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
选择/进入数据库

1.语法

进入数据库:use + 数据库名
调用函数,查询当前库,前提是进去库才能用:select database();

1.2示例:

mysql> use discuz
Database changed

mysql> select database();
+------------+
| database() |
+------------+
| discuz     |
+------------+
1 row in set (0.00 sec)
删除库

删除库请谨慎操作
1.语法

drop database +数据库名

1.2示例

mysql> drop database discuz;
Query OK, 0 rows affected (0.00 sec)
系统中的位置

数据库实体,备份清理数据库的位置

[root@192 ~]# ll -d /var/lib/mysql/
drwxr-x--x. 5 mysql mysql 4096 11月 20 11:14 /var/lib/mysql/

DDL-数据类型

数据类型的分类

MySql中的数据类型有很多,主要分为三类:数值类型,字符串类型,日期时间类型。通俗来讲要么写数,要么写字,要么写时间和日期

1.数值类型

整数类型 int
浮点数类型 float:小数

2.字符串类型

字符系列 CHAR和VARCHAR:char的长度不可变,varchar的长度可以增加。
枚举类型 ENUM:单选
集合类型 SET:多选

3.时间和日期类型

年 YEAR
日期 DATE
时间 TIME
日期和时间 DATETIME

DDL-表

创建表的目的

表是数据库存储数据的基本单位
表由若干个字段(列)组成
主要用来存储数据记录(行)

操作数据库示例
示例一:创建1列的表格-序号

1.创库

mysql> create database haha;
Query OK, 1 row affected (0.00 sec)

1.2使用库,在库里创建表,要进入库

mysql> use haha;
Database changed

1.3开始创建表:create table

mysql> create table t1 (id int);
Query OK, 0 rows affected (0.01 sec)

参数解释:
t1:表的名字
id:列的名字
int:类型

1.4查看表:show tables

mysql> show tables;
+----------------+
| Tables_in_haha |
+----------------+
| t1             |
+----------------+
1 row in set (0.00 sec)

1.5插入数据:insert into

mysql> insert into t1 values (1);
Query OK, 1 row affected (0.03 sec)

插入  到   表名t1   值  (1);

1.6查询所有数据

mysql> select * from t1;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

查询所有数据从表名t1

1.7删除表:删完该跑路了

mysql> drop table t1;
Query OK, 0 rows affected (0.00 sec)
示例二:创两列的表格-序号和姓名

1.创表

mysql> create table t2 (id int,name varchar(20));
Query OK, 0 rows affected (0.01 sec)

创建  表格  表名t2  (第一列名id   数字类型,  第二列名name 字符类型(长度))

1.2查看表结构

mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

描述 表t2

1.3查询表所有数据,准确讲就是值

mysql> select * from t2;
Empty set (0.00 sec)

1.4插入数据,字符串要加双引号,数字不用加

mysql> insert into t2 values (1,"zhangsan");
Query OK, 1 row affected (0.00 sec)

插入  到  表t2    值  (第一列信息,第二列信息);

1.5查询所有数据

mysql> select * from t2;
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhangsan |
+------+----------+
1 row in set (0.00 sec)
示例三:创建三列,创建库school,创建表student1

1.创库

mysql> create database school;
Query OK, 1 row affected (0.00 sec)

1.2进入库,创建表

mysql> use school
Database changed

mysql> create table student1 (id int,name varchar(20),sex enum('m','f'),age int);
Query OK, 0 rows affected (0.00 sec)

enum:枚举型

1.3查看表名

mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| student1         |
+------------------+
1 row in set (0.00 sec)

1.4查看表结构

mysql> desc student1;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | YES  |     | NULL    |       |
| name  | varchar(20)   | YES  |     | NULL    |       |
| sex   | enum('m','f') | YES  |     | NULL    |       |
| age   | int(11)       | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

1.5插入数据

mysql> insert into student1 values (1,"zhangsan","m",33);
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values (2,"lisi","f",23);
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values (3,"wangwu","f",20);
Query OK, 1 row affected (0.00 sec)

1.6查看所有数据

mysql> select * from student1;
+------+----------+------+------+
| id   | name     | sex  | age  |
+------+----------+------+------+
|    1 | zhangsan | m    |   33 |
|    2 | lisi     | f    |   23 |
|    3 | wangwu   | f    |   20 |
+------+----------+------+------+
3 rows in set (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《MySQL DBA运维笔记超详细》是一本专门介绍MySQL数据库管理员运维工作的详细笔记。MySQL是一种流行的开源数据库管理系统,许多企业和网站都在使用它来存储和管理数据。 这本笔记以MySQL数据库运维工作为核心,内容较为全面。它从基础知识开始,介绍了数据库的安装和配置,包括数据库实例、表空间、数据文件等的管理。同时,它还涉及到了数据库的备份和恢复策略,如何设计高可用的数据库架构,以及如何进行性能优化等。这些内容对于MySQL数据库管理员来说,是非常重要的。 除了基础的运维工作外,这本笔记还介绍了一些高级的技术和工具。例如,它详细解释了如何进行数据库的监控和诊断,如何进行慢查询分析以及如何优化SQL语句。此外,它还介绍了一些与MySQL数据库相关的常用工具,并提供了一些实战案例,帮助读者更好地理解和应用知识。 总体而言,这本《MySQL DBA运维笔记超详细》是一本适合MySQL数据库管理员的实用手册。通过阅读这本书,读者可以系统地学习MySQL数据库运维知识,提高自己的技术水平。无论是刚刚接触MySQL数据库的新手,还是已经有一定经验的运维人员,都可以从中受益匪浅。 ### 回答2: "Mysqldba运维笔记超详细pdf"是一本关于MySQL数据库管理员运维笔记的超详细电子书。该电子书的主要内容涵盖了MySQL数据库的各个方面,提供了大量的技术细节和操作指南。 首先,该电子书介绍了MySQL的基础知识,包括数据库的概念、常用的SQL语法以及数据类型等。这为初学者提供了一个良好的入门点,让他们快速掌握MySQL的基本操作。 接着,该电子书深入讨论了MySQL数据库的架构和原理,包括存储引擎、查询优化、事务处理和并发控制等相关内容。这对于高级用户和数据库管理员来说是非常有价值的,可以帮助他们更好地理解MySQL的内部工作原理,从而优化数据库的性能和稳定性。 此外,该电子书还详细介绍了MySQL数据库的备份和恢复策略,包括物理备份和逻辑备份的方法。它提供了一些实用的技巧和建议,帮助用户确保数据库的安全性和可靠性。 除了基础知识和高级技巧,该电子书还涵盖了一些常见问题和故障排除的方法。它列出了一系列常见的错误和异常情况,并提供了解决方案和调试指南,使用户能够快速识别和解决问题。 总之,"Mysqldba运维笔记超详细pdf"是一本全面而详细的MySQL数据库管理员运维指南。它适用于初学者和有经验的用户,提供了从基础知识到高级技巧的全方位指导,是学习和实践MySQL数据库管理的必备资料。 ### 回答3: "Mysqldba运维笔记超详细"是一本提供了关于MySQL数据库管理员运维方面详尽知识的PDF。这本书包含了丰富的内容,从基本的MySQL概念开始,涵盖了各种常见问题的解决方案和最佳实践。 这本书首先介绍了MySQL数据库的概念和基本原理,包括数据库架构、存储引擎、事务处理等。然后,它详细讲解了如何安装和配置MySQL数据库,包括安装步骤、配置文件的修改以及相关工具的安装和使用。 接下来,这本书通过实用的案例和示例来介绍如何进行数据库管理和维护。它讲解了数据库备份和恢复的方法,包括全量备份和增量备份的技巧。此外,它还详细介绍了如何进行数据库监控和性能调优,包括查看数据库日志、优化SQL查询和调整系统参数等。 除了基本的运维知识,这本书还介绍了一些高级主题。它讲解了如何配置MySQL高可用性方案,包括主从复制和主备切换。它还介绍了如何进行数据库的故障诊断和排除,包括常见问题的解决方法和故障恢复策略。 总的来说,"Mysqldba运维笔记超详细"这本PDF提供了一个全面而详细的MySQL数据库管理员运维指南。无论是初学者还是有经验的专业人士,都可以从中学习到宝贵的知识和实践经验。它是一本对于那些想要更好地理解和管理MySQL数据库的读者来说必不可少的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值