Mysql 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 关系型数据库(Relational Database Management System:关系数据库管理系统)应用软件之一。mysql在问开发中,几乎必不可少,因为其他的可能是要收费的,所以mysql变成了首选。

1、mysql中常见的术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • 行:一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

2、mysql基本语法:

创建数据库

CREATE DATABASE 数据库名;

删除数据库

drop database 数据库名;

3、mysql数据类型

 

 4、mysql的SQL基本语法

创建一个表

CREATE TABLE table_name (column_name column_type);

例如:

CREATE TABLE IF NOT EXISTS `maoheyeren`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `title` VARCHAR(100) NOT NULL,
   `author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

删除一个表

DROP TABLE table_name ;

对一个表插入数据:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

查询一个表数据:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]

分组查询语句:

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

更新一个表数据:

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

删除一个表数据:

DELETE FROM table_name [WHERE Clause]

创建视图:

CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [
CASCADED | LOCAL ] CHECK OPTION ]

 创建存储过程:

CREATE PROCEDURE 存储过程名称 ([ 参数列表 ])
BEGIN
-- SQL语句集合
END ;

调用存储过程:

CALL 存储过程名称 ([ 参数 ]); 
如果所要调用的存储过程是无参的,括号() 可省略

删除存储过程

DROP PROCEDURE [ IF EXISTS ] 存储过程名称 ;

5、mysql事务

事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

事务的特性(ACID):

原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。
隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。
上述就是事务的四大特性。

mysql事务的隔离级别:(其中默认隔离级别是可重复读)


 

查看事务的隔离级别:

SELECT @@TRANSACTION_ISOLATION;

设置事务的隔离级别语法:

SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED |
READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

6、mysql索引(默认的索引是B+树数据结构)

索引(index)是帮助MySQL高效获取数据的数据结构 ,相当于课本的目录。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
在无索引情况下,在我们执行查询语句的时候默认会全表扫描。

创建索引的语句:

-- 创建索引
CREATE [ UNIQUE | FULLTEXT ] INDEX index_name ON table_name (
index_col_name,... ) ;

查看索引:

-- 查看索引
SHOW INDEX FROM table_name ;

删除索引:

-- 查看索引
SHOW INDEX FROM table_name ;

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐