Mysql 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 关系型数据库(Relational Database Management System:关系数据库管理系统)应用软件之一。mysql在问开发中,几乎必不可少,因为其他的可能是要收费的,所以mysql变成了首选。
创建数据库
CREATE DATABASE 数据库名;
删除数据库
drop database 数据库名;
创建一个表
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 ] 存储过程名称 ;
事务
是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
事务的特性(ACID):
原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。
隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。
上述就是事务的四大特性。
mysql事务的隔离级别:(其中默认隔离级别是可重复读)
查看事务的隔离级别:
SELECT @@TRANSACTION_ISOLATION;
设置事务的隔离级别语法:
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED |
READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
索引(index)是帮助MySQL高效获取数据的数据结构 ,相当于课本的目录。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
在无索引情况下,在我们执行查询语句的时候默认会全表扫描。
创建索引的语句:
-- 创建索引
CREATE [ UNIQUE | FULLTEXT ] INDEX index_name ON table_name (
index_col_name,... ) ;
查看索引:
-- 查看索引
SHOW INDEX FROM table_name ;
删除索引:
-- 查看索引
SHOW INDEX FROM table_name ;