输入banner图图片脚本导航/分类

浅谈Mysql基础

,数据管理系统) :oracle、mysql、sql server、DB2

       Mysql:开源、关系型、ISAM存储引擎核心算法前身

       Oracle:关系型数据库管理系统,技术领先、大型企业

       DB2:支持多媒体、WEB关系型数据库

       SQLserver:微软产品

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

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

 数据管理:对各种数据进行分类、组织、编码、存储、检索和维护

 人工管理阶段—文件系统管理阶段—数据库系统阶段

3.数据库发展阶段:

层次数据库和网状数据库技术阶段:层次代表IMS、网状代表IDS

关系数据库技术阶段:oracle、mysql、sql server、DB2、SyByse、InFormix

后关系数据库技术阶段:面向对象数据库ORDBMS、结构化数据库技术NOSQL

4. SQL(Structure Query Language)结构化查询语言:

数据定义语言(Data Definition Language,DDL)、

数据操作语言(Data Manipulation Language,DML)、

数据控制语言(Data Control Language,DCL)

5. Mysql数据库:

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

  Information_scherma:数据对象信息,如用户表信息、列信息、权限信息、字符集信息和分区信息等

   Performance_schema:数据库服务器性能参数

   mysql:用户权限信息

   test:测试数据库

2)用户数据库:

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

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

7. SQL语句中的DDL和DML(不包含SELECT)语句执行成功后都会显示Query OK

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

 

 

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

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

    2)决定表在计算机内的存储方式

9.Mysql5.5支持九种存储引擎:FEDERATED、MRG_MYISAM、MYSIAM、BLACKHOLE、CSV、MEMORY、ARCHIVE、InnoDB、PERFORMANCE_SCHEMA

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

    InnoDB: 事务(即提交、回滚和崩溃恢复功能的事务安装),磁盘占用大

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

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

 

 

10. 存储引擎Engine参数:

       Support:是否支持该存储引擎,yes/no,default表示默认

       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数据类型

整数类型:标准(SMAILLINT、INT),扩展(TINYINT、MEDIUMINT、BIGINT)

浮点型:FLOAT、DOUBLE

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

位类型:BIT(字节数M,1~8,存储空间由精度决定)

日期和时间类型:DATE、DATETIME、TIMESTAMP、TIME、YEAR

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

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

14.表数据约束:对表中所存储的数据是否合法进行检查

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

非空约束(NOT NULL,NK)、

字段默认值约束(DEFAULT)、

唯一约束(UNIQUE,UK)、

主键约束(PRIMARY KEY,PK)、

字段值自动增加约束(AUTO_INCREMENT)

外键约束(FOREIGNKEY,FK)

 

 

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

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

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

 InnoDB和MYISAM存储类型支持默认为BTREE,MEMORY存储引擎支持HASH

17. Mysql创建方式:创建表时创建索引、在已存在的表上创建索引、通过SQL语句ALTER TABLE创建索引


 

18.Mysql支持6种索引:

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

唯一索引:限制索引的值必须是唯一的

全文索引:主要关联在CHAR、VARCHAR和TEXT字段上

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

         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 单独使用,默认查询出每个分组中