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

浅谈Mysql基础

时间:2015-09-09 19:48:25      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:mysql   数据库技术   数据库系统   数据库管理   

1.DBMS(DataBase Management System据管理系) oraclemysqlsql serverDB2

       Mysql源、系型、ISAM引擎核心算法前身

       Oracle系型管理系,技术领先、大型企

       DB2:支持多媒体、WEB系型

       SQLserver:微软产

       PostgreSQL:唯一支持事、子查询、多版本行控制系据完整性检查等特性自由

2.库软应该为数管理系是通过数统创建和操作的容器

 据管理:种数行分组织编码、存索和维护

 人工管理文件系管理统阶

3.库发段:

网状数术阶段:次代表IMS网状代表IDS

术阶段:oraclemysqlsql serverDB2SyByseInFormix

术阶段:面向ORDBMS结构NOSQL

4. SQLStructure Query Language结构查询语言:

据定义语言(Data Definition LanguageDDL)、

据操作言(Data Manipulation LanguageDML)、

据控制言(Data Control LanguageDCL

5. Mysql

1)系统数记录一些必需的信息,用不能更改

  Information_scherma象信息,如用表信息、列信息、限信息、字符集信息和分信息等

   Performance_schema器性能参数

   mysql:用户权限信息

   test测试数

2)用户数

6.库对象:指存、管理和使用据的不同结构形式

表、视图、存储过程、函触发器、事件等

7. SQL句中的DDLDML(不包含SELECT行成功后都会显Query OK

 SQL句中可以用”;” ”\g””\G” 表示束。\G更美

 

 

8.引擎:以件形式被Mysql引入

1)指定表的型(如何存和索引据、是否支持事

    2定表在算机的存方式

9.Mysql5.5支持九引擎:FEDERATEDMRG_MYISAMMYSIAMBLACKHOLECSVMEMORYARCHIVEInnoDBPERFORMANCE_SCHEMA

    MYSIAM:不支持事、外,速度快

    InnoDB: (即提交、回和崩功能的事安装),磁占用大

             繁更新除操作,完整性要求高,需要实现并发控制

    MEMORY:存存储数据,访问速度快,无安全保障

 

 

10. 引擎Engine参数

       Support:是否支持引擎,yes/nodefault表示默

       Comment于存引擎的评论

       Transactions:是否支持事

       XA:存引擎支持的分布式是否符合XA

       Savepoints:是否支持事务处理中的保存点

11. 修改默引擎:C:\Program Files\MySQL\MySQL Server5.1 \my.ini配置文件中[mysqld]

[client]

port=3306

[mysql]

default-character-set=utf8

[mysqld]

port=3306

basedir="C:/ProgramFiles/MySQL/MySQL Server 5.1/"

datadir="C:/ProgramData/MySQL/MySQLServer 5.1/Data/"

character-set-server=utf8

default-storage-engine=INNODB

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

 

 

12. Mysql

数类型:准(SMAILLINTINT),展(TINYINTMEDIUMINTBIGINT

浮点型:FLOATDOUBLE

定点型:DECIMAL更高精度,金融货币优选

型:BIT(字节数M1~8,存由精度定)

日期和时间类型:DATEDATETIMETIMESTAMPTIMEYEAR

字符串型:CHAR系列、TSXT系列、BINARY系列、BLOB系列

13.表中的库对象包含列、索引(序、快速访问督)和触发器(事命令集)。

14.束:表中所存据是否合法检查

完整性束:据准确性和一致性

非空束(NOT NULL,NK)、

字段默认值约束(DEFAULT)、

唯一束(UNIQUE,UK)、

键约束(PRIMARY KEY,PK)、

字段增加(AUTO_INCREMENT)

键约束(FOREIGNKEY,FK

 

 

15.索引:建在库对象表上,包含表中按照一定序排序的一或多列字段

         提高查询速度,保字段的唯一性,实现数表的完整性

16. 索引的存储类型:B索引(BTREE)、哈希索引(HASH

 InnoDBMYISAM储类型支持默认为BTREEMEMORY引擎支持HASH

17. Mysql建方式:建表时创建索引、在已存在的表上建索引、通SQLALTER TABLE建索引


 

18.Mysql支持6索引:

普通索引:不附加任何限制件(唯一、非空等限制),可建在任何型字段

唯一索引:限制索引的是唯一的

全文索引:主要关联CHARVARCHARTEXT字段上

快速查询数据量大的字符串型的字段

         Mysql3.23.23始支持,只能在存引擎MyISAM表上建全文索引

列索引

多列索引

索引

 

 

19.视图表,容和真实表相似。但视图并不在中以存形式存在

         行和列自自定查询所引用基本表,且在具体引用视图时动态生成

20.视图特点:据可以自不同的表,是表的抽象和在逻辑上建立的新

             由基本表(表)生的

             建立和除不影基本表

             对视图内容的更新(添改)直接影基本表

21.视图:封装复杂查询语句,方便重使用和安全

22.视图实现信息藏,多地方重复实现该功能(只需查询视图,不要,每次都编写视图封装的详细查询语句)

 

 

23.触发器:用来实现由一些表事件触发的某操作,由事件来触发、激活而实现执

24.触发TRIGGER似于程中的函,需要明、行,

25.建多条执行的触发器多命令trigger_STMT要用;隔避免和所用分,可使用关键DELIMITER句,例如:

                 DELIMITER $$

                     条语触发

                    $$

                 DELIMITER;

 

 

26.排序查询数:字段值为NULL则该值为最小

在降序排序示在最后一行,在升序排序中示在第一行

27.AVG()数统计平均:忽略null,但是不忽略0

28.Mysql所支持的统计,所操作的表中有任何记录COUNT()返回0,而其返回null

29.组数查询:分所依据的字段上的一定要具有重复值

30.关键GROUP BY 单独使用,默认查询出每机一条记录,具有很大不确定性

31. WHERE:实现条件限制记录

HAVING:实现条件限制分组数记录

32.笛卡尔件表系返回的

       表一字段a,行b;表二字段c,行d

       表一和表二的笛卡尔:字段=a+c =b*d

33.内连接(INNER JOIN):表系笛卡尔积数据,保留表系中所有匹配记录

    自然接:根据表系中相同名的字段自动进记录匹配,再去重

    值连接:表系笛卡尔中,选择所匹配字段相等的记录

    不等值连接:!=

34.接(OUTER JOIN):表系笛卡尔积数据,不保留表中所有匹配据,还会保留部分不匹配的记录

  左外接:表系笛卡尔积数据除了选择匹配数则记录包含关联左表中不匹配记录

             以左主保留

  右外接:

  全外接:左右两边表全

35.接:内连查询中存在的一特殊的等值连接,表其自身

36.查询返回操作表中至少一表的所有

37.并查询数记录UNION| UNION ALL关键

38.查询两种语法:

  1FROM子句利用(,)分多表,在WHERE子句中通过逻辑来实现匹配

  2FROM子句用 ”JOIN ON”ON后接

39.查询(嵌套查询):查询之中嵌套了其他若干查询

IN:主查询件是子查询查询结

ANY:主查询为满足子查询查询返回查询结果中任意一条数

= ANY> ANY < ANY

ALL:主查询为满足子查询查询返回查询结果中所有

EXISTS:布尔型,ture&false

 

 

40.不同SQL句可移植,函个数支持不同

41.储过程和函:就是事先经过编译并中的一段SQL句集合

   1)由事件来触发、激活实现执行,行需要手动调用其名字制定相应参数

2)函有返回,存储过

 3)存储过程的参数类远远多于函参数类

4

        (1)许标程,提高SQL句重用性、共享性、可移植性

(2)行、少流量

(3)安全机制利用

 

 

42. Mysql支持事的存引擎:InnoDBBDB

43. InnoDB引擎事主要通UNDO日志和REDO日志实现

             支持ACID、行级锁和高并发

44.:多用户访问同一份数据,一在更改据的程中其他用时发出更改求,保证数的更新一致状态更改另外一一致性状态

   特性:(1)原子性:行的据修改等操作只能完全提交或者完全回

(2)一致性:更必须应的修改,保证数据完整性

(3)隔离性:前事会查看由另一个并发正在修改

(4)持久性:事完成,所做的修改对数据影是永久,重故障据可恢

45. REDO日志:事务执时将执行的事日志入日志文件

       sql更新,先REDO到日志COMMIT命令提交,日志容江北刷新到磁

 刷新方式或者时间间隔通过参数innodb_flush_log_at_trx_commit控制

 对应ib_logfileN文件

46. UNDO日志:事务异据回

              不存在单独UNDO日志文件,所有的UNDO日志都放在表空间对应.ibd

47. Mysql隔离级别

   (1)READ-UNCOMMITTED取未提交容)

(2)READ-COMMITTED取提交容):大多数数认级别,不是Mysql

    务从开始到提交前所做的任何改都是不可的,食物只能看到已、提交事物所做的改

(3)REPEATABLE-READ(可重):Mysql

    确保同一事的多个实例在并发读时会看到同样数据行

(4)Serializable(可串行化):强制事排序,在每读数据行上加上共享锁实现

48. InnoDBFalcon多版本并发控制MVCC机制解读问题

     InnoDBMVCC机制:个数据行增加两个隐(行时间&时间实现

49. InnoDB机制:证数据一致性,要对并发操作行控制,使用行机制

50.锁类型:共享、排他、意向

51.粒度:表(管理开销最小、允许并发量最小)

(支持最大并发

 

 

52.Mysql件中mysql:存储关限的表

1mysql.user(39字段):

(1)字段(3字段)hostuserpassword

(2)限字段:”_priv”尾(默N不可作用在所有Y可作用所有

(3)安全字段(4字段):是否能成功登

ssl_typessl_cipherx509_issuerx509_subject

(4)源控制字段(4字段):判是否能成功登

max_questionsmax_updatesmax_connectionmax_user_connections

  2mysql.dbmysql.host:户对关数限,hostdb

         (1)字段:mysql.db(hostuserdb)mysql.host(hostdb)

         (2)限字段:create_routine_privalter_routine_priv

  3mysql.tables_priv(8字段)实现单个表的

         主机名、名、用名、表名、

Grantor限有谁设置、

Timestamp更新时间

Table_priv行操作的

Column_priv表中字段列行操作的

  4mysql.columns_priv(7字段)实现单个字段的

  5mysql.procs_priv(8字段):主机名、名、用名、Routine_nameRoutine_typeGrantorproc_privTimestamp

53.Mysql安全基:用不能对过多的库对象具有多的访问权

54. Mysql有日志种类:二制日志、错误日志、查询日志,默会启动错误日志

(1)制日志:二记录数操作,但不记录查询语

(2)错误日志:启动行、关闭时信息  error-bin[=dir\[filename]]

(3)通用查询日志:启动关闭信息、客接信息、更新记录sql查询数sql

         log[=dir\[filename]]

(4)查询日志:时间的各操作

          Log-slow-queries[=dir\[filename]]

          long_query_time=n

55. 制日志:库变化情SQL句中的DDLDML

    (1)配置文件【my.ini,[mysql]添加:log-bin[=dir\[filename]]

             Filename:指定二制文件的文件名,格式filename.number

         指定dir\[filename],默:主机名-bin.number,保存在库数据文件

         每次重mysql生成一新的二制日志文件,文件名不字增加

    (2)看:mysqlbinlog filename.number

    (3)停:SET SQL_LOG_BIN=0

    (4)SETSQL_LOG_BIN=1

    (5)除:RESET MASTER

             PURGE MASTER LOGS TOfilename.number

             PURGE MASTER LOGS  BEFORE ‘yyyy-mm-dd hh:MM:ss’

 

 

56.证备份数据的完整性,重MYSQLFLUSH TABLES 入到文本文件

57.据文件方式只适合存引擎MyISAM的表

58.mysqldump会将包含据的表的结构容保存在相的文本

  (1)检查所要备份的表结构,相文本生成CREATE

  (2)检查数容,在相的文本文件生成INSERT INTO

59.过复据文件实现数备份还原必证两个Mysql的主版本一致

  要注意存引擎问题

60.主版本一致的,其据文件有相同的据文件


本文出自 “Linux运维” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1693125

浅谈Mysql基础

标签:mysql   数据库技术   数据库系统   数据库管理   

原文地址:http://xuding.blog.51cto.com/4890434/1693125

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