1、mysql性能卓越,服务稳定,很少出现异常宕机。
2、mysql开放源代码且无版权制约,自主性及使用成本低。
3、mysql历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
4、mysql软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
5、mysql品牌口碑效应,使得企业无需考虑就直接用之,lamp,lnmp流行架构。
6、mysql支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。
MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
数据库中的记录是有行有列的数据库就是关系型数据库,与之相反的就是NoSQL数据库了。
数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以通过SQL对数据库中的数据进行增加,修改,删除及查询操作。
指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
输入用户名、密码,点击连接按钮,进行访问MySQL数据库进行操作
在Query窗口中,输入SQL代码,选中要执行的SQL代码,按F8键运行,或按执行按钮运行。
数据定义语言 |
简称DDL(Data Definition Language) |
用来定义数据库对象:数据库,表,列等 |
关键字:create,alter,drop等 |
数据操作语言 |
简称DML(Data Manipulation Language) |
用来对数据库中表的记录进行更新。 |
关键字:insert,delete,update等 |
数据控制语言 |
简称DCL(Data Control Language) |
用来定义数据库的访问权限和安全级别 |
关键字:grant,revoke等 |
数据查询语言 |
简称DQL(Data Query Language) |
用来查询数据库中表的记录 |
关键字:select,from,where等 |
创建数据库
查看数据库
删除数据库
删除数据库需慎重,搞不好就是炒鱿鱼
创建表
单表约束:
* 主键约束:primary key
* 唯一约束:unique
* 非空约束:not null
注意:主键约束 = 唯一约束 + 非空约束
查看表
删除表
修改表
注意:
注意:
MySQL查询语法顺序
执行顺序
示例SQL:SELECT * FROM user LEFT JOIN order ON user.id = order.uid WHERE order.price > 1000 GROUP BY user.name HAVING count(1) > 5 ORDER BY user.name LIMIT 0,10
WHERE条件执行顺序(影响性能)
关键字:ORDER BY ASC(升序) DESC(降序)
常用的:
sum(): 求某一列的和
avg(): 求某一列的平均值
max(): 求某一列的最大值
min(): 求某一列的最小值
count():求某一列的元素个数
关键字:1.GROUP BY 2.HAVING
注意事项:
常用的类型:
数字型:int
浮点型:double
字符型:varchar(可变长字符串)
日期类型:date(只有年月日,没有时分秒)
datetime(年月日,时分秒)
分类 |
类型名称 |
说明 |
整数类型 |
tinyInt |
很小的整数 |
smallint |
小的整数 |
|
mediumint |
中等大小的整数 |
|
int(integer) |
普通大小的整数 |
|
小数类型 |
float |
单精度浮点数 |
double |
双精度浮点数 |
|
decimal(m,d) |
压缩严格的定点数------开发时用 |
|
日期类型 |
year |
YYYY 1901~2155 |
time |
HH:MM:SS -838:59:59~838:59:59 |
|
date |
YYYY-MM-DD 1000-01-01~9999-12-3 |
|
datetime-开发用 |
YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59 |
|
timestamp |
YYYY-MM-DD HH:MM:SS 1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC |
|
文本、二进制类型 |
CHAR(M) |
M为0~255之间的整数 |
VARCHAR(M) |
M为0~65535之间的整数 |
|
TINYBLOB |
允许长度0~255字节 |
|
BLOB |
允许长度0~65535字节 |
|
MEDIUMBLOB |
允许长度0~167772150字节 |
|
LONGBLOB |
允许长度0~4294967295字节 |
|
TINYTEXT |
允许长度0~255字节 |
|
TEXT |
允许长度0~65535字节 |
|
MEDIUMTEXT |
允许长度0~167772150字节 |
|
LONGTEXT |
允许长度0~4294967295字节 |
|
VARBINARY(M) |
允许长度0~M个字节的变长字节字符串 |
|
BINARY(M) |
允许长度0~M个字节的定长字节字符串 |
内连接也叫等值连接,内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。
外连接又分为:左外连接、右外连接、全外连接
左外连接:LEFT JOIN(使用LEFT JOIN,则主表在它左边)
右外连接::RIGHT JOIN (使用RIGHT JOIN,则主表在它右边)
全外连接(MySQL不支持):FULL JOIN
事务概述:MySQL 事务主要用于处理操作量大,复杂度高的数据。
一般来说,事务是必须满足4个条件(ACID):
原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。
稳定性:数据库在事务执行前后状态都必须是稳定的。
隔离性:事务之间不会相互影响。
持久性:事务执行成功后必须全部写入磁盘。
原文:https://www.cnblogs.com/dzlj/p/12099082.html