码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据库以及表的管理

时间:2017-11-17 21:41:29      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:actions   它的   nec   变量   character   dba   rip   完整性   alter   

                          MySQL数据库以及表的管理

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

  今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有可能需要对别人写出来的复杂SQL语句做性能评估,去分析他们写的SQL语句是不是足够高效,如果不是的话,我们还要能够达到对对方的SQL语句做改写的能力。所以,我们无需自行去开发SQL,但是我们一定要有一个看懂别人写的SQL的能力哟!
 
 
 
一.DBA的职责
1.开发DBA:
  负责数据库设计(E-R关系图)、sql开发、内置函数、存储历程(存储过程和存储函数)、触发器、时间调度器(event scheduler)
2.管理DBA:
  负责安装、升级、备份、恢复、用户管理、权限管理、监控、分析、基准测试,语句优化(SQL语句)、数据字典,按需要配置服务器(服务器变量:MyISAM,InnoDB,缓存,日志)
 
二.SQL语言组成部分
1.DDL:
  全称Data Defination,我们叫它数据定义语言,典型命令指令有CREAT/ALTER/DROP
2.DML:
  全称Data Manipulation,我们叫它数据操作语言,典型命令有INSERT/DELETE/SELECT/UPDATE
3.完整性定义语言,DDL的一部分功能
  主键约束、外键约束、唯一键约束、条件约束、非空约束、事务约束
4.视图定义:即虚表,它是存储下来的select语句
5.事务控制:
  例如Transactions(在mysql交互界面执行“HELP content”可以查看相关信息。)
6.嵌入式SQL和动态SQL:
7.DCL:
  我们叫它数据控制语言,如实现授权和权限收回的典型命令有GRANT/REVOKE.
 
三.数据类型的功用
1.存储的值类型;
2.占据的存储空间大小;
3.定长,变长;
4.如何被索引及排序;
5.是否能够被索引;
 
四.数据字典:依赖系统编目(花名册)(system catalog)
  对于关系型数据库来讲,它的数据字典也是另外找个地方存起来的。对于MySQL数据库来讲,这个位置就是名称为mysql的数据库。我们在第一次启动MySQL时,它第一步工作就是初始化系统表,所谓初始化系统表就是用来创建mysql这个数据库的。我们也可以称这个mysql数据库叫做MySQL的数据字典。数据字典是用来保存数据库服务器上的元数据。那么什么是元数据呢?我总结有以下几点:
1>.保存关系(表)的名字
2>.保存每个关系(表)的各字段的名字
3>.保存各字段的数据类型和长度
4>.保存约束条件
5>.保存每个关系(表)上的视图的名字及视图的定义
6>.保存授权用户(user表)的名字
7>.保存用户的授权和账户信息等
8>.统计类的数据,如每个关系字段的个数,每个关系中行数,每个关系的存储方法
9>.保存元数据的数据库( 即:information_schema,mysql, performance_schema)
 
 
五.MySQL内部组件
  如下图所示,连接器(Connectors)和连接池他们之间是建立连接关系的。连接池(Connection Pool)的所有SQL语句都得发送给SQL接口(SQL Interface)进行接收,然后再由分析器(Parser)进行分析,由优化器(Optimizer)进行优化处理,最终我们有可能在缓存(Caches&Buffers)中获取数据,实在再不行在交由存储引擎(Pluggable Storage Engines)去执行SQL语句。
技术分享图片

 

六.MySQL中字符大小写情况说明
1.SQL关键字及函数不区分大小写;
2.数据库、表及视图名称的大小写区分与否取决于底层OS(操作系统)及FS(文件系统);
3.存储过程、存储函数及事件调度器的名字不区分大小写,但触发器区分大小写;
4.表别名区分大小写;
5.对字段中的数据,如果字段类型为binary类型,则区分大小写,非binary不区分大小写;
 
七.SQL指令详解-数据库操作
1.数据库的创建
a>.查看创建库时的帮助信息
 1 mysql> help create database            
 2 Name: CREATE DATABASE
 3 Description:
 4 Syntax:
 5 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
 6     [create_specification] ...
 7 
 8 create_specification:
 9     [DEFAULT] CHARACTER SET [=] charset_name               #设置字符集
10   | [DEFAULT] COLLATE [=] collation_name                    #设置排序方式
11 
12 CREATE DATABASE creates a database with the given name. To use this
13 statement, you need the CREATE privilege for the database. CREATE
14 SCHEMA is a synonym for CREATE DATABASE.
15 
16 URL: http://dev.mysql.com/doc/refman/5.1/en/create-database.html
17 
18 
19 mysql> 
b>.创建不存在的数据库
 1 mysql> show databases;
 2 +--------------------+
 3 | Database           |
 4 +--------------------+
 5 | information_schema |
 6 | mysql              |
 7 | test               |
 8 +--------------------+
 9 3 rows in set (0.00 sec)
10 
11 mysql> 
12 mysql> create database yinzhengjie;
13 Query OK, 1 row affected (0.01 sec)
14 
15 mysql> show databases;
16 +--------------------+
17 | Database           |
18 +--------------------+
19 | information_schema |
20 | mysql              |
21 | test               |
22 | yinzhengjie        |
23 +--------------------+
24 4 rows in set (0.00 sec)
25 
26 mysql> 
c>.已经存在数据库的如何使用创建命令
 1 mysql> show databases;
 2 +--------------------+
 3 | Database           |
 4 +--------------------+
 5 | information_schema |
 6 | mysql              |
 7 | test               |
 8 | yinzhengjie        |
 9 +--------------------+
10 4 rows in set (0.00 sec)
11 
12 mysql> create database if not exists yinzhengjie;
13 Query OK, 1 row affected, 1 warning (0.00 sec)
14 
15 mysql> show databases;
16 +--------------------+
17 | Database           |
18 +--------------------+
19 | information_schema |
20 | mysql              |
21 | test               |
22 | yinzhengjie        |
23 +--------------------+
24 4 rows in set (0.00 sec)
25 
26 mysql> 
2.数据库的删除
a>.查看删除数据库时的帮助信息
 
 
 
 
 

MySQL数据库以及表的管理

标签:actions   它的   nec   变量   character   dba   rip   完整性   alter   

原文地址:http://www.cnblogs.com/yinzhengjie/p/7853552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!