mysql日前属于什么类型_MySQL(一) - osc_a8eumg6j的个人空间 - OSCHINA - 中文开源技术交流社区...

1.  MySQL

为什么使用MySQL

1、mysql性能卓越,服务稳定,很少出现异常宕机。

2、mysql开放源代码且无版权制约,自主性及使用成本低。

3、mysql历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。

4、mysql软件体积小,安装使用简单,并且易于维护,安装及维护成本低。

5、mysql品牌口碑效应,使得企业无需考虑就直接用之,lamp,lnmp流行架构。

6、mysql支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。

MySQL是什么

MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

关系型数据库

数据库中的记录是有行有列的数据库就是关系型数据库,与之相反的就是NoSQL数据库了。

数据库管理系统

指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

2. SQLyog使用

9ab6c2cf64bf1df9e3df8a0b36e1a94f.png

输入用户名、密码,点击连接按钮,进行访问MySQL数据库进行操作

3fb56ecc456f1a0782bdfaa83a7876c8.png

在Query窗口中,输入SQL代码,选中要执行的SQL代码,按F8键运行,或按执行按钮运行。

3.  SQL语句

SQL分类

数据定义语言

数据操作语言

数据控制语言

数据查询语言

简称DDL

简称DML

简称DCL

简称DQL

定义数据库对象:数据库,表,列等

对数据库中表的记录进行更新。

定义数据库的访问权限和安全级别

查询数据库中表的记录

关键字:create,alter,drop等

关键字:insert,delete,update等

关键字:grant,revoke等

关键字:select,from,where等

数据库操作:database

创建数据库

0add69e0238b34ae6ff5d3c4bba437e8.png

查看数据库

1928f5ab1831ab7e77fc14866366a16c.png

删除数据库

0cca1407d5cb0ffc00a2ae4c107ebd23.png删除数据库需慎重,搞不好就是炒鱿鱼

表操作:table

创建表

f70922ac917d9638a437de81f79c13b8.png

单表约束:

*主键约束:primary key

*唯一约束:unique

*非空约束:not null

注意:主键约束= 唯一约束+ 非空约束

查看表

2131440c16f31c210b841f3a04f19344.png

删除表

6ed9f323b6d543f7833e33611855d6eb.png

修改表

63b620575db62d60e6d8556d2bb8a82f.png

插入数据:INSERT

229ff261b09709cb5863c3255ed9618a.png

注意:

列名数与values后面的值的个数相等

列的顺序与插入的值得顺序一致

列名的类型与插入的值要一致.

插入值得时候不能超过最大长度.

值如果是字符串或者日期需要加引号’’ (一般是单引号)

修改数据:UPDATE

c66fc8d65771525456c4071f0d8d918f.png

注意:

列名的类型与修改的值要一致.

修改值得时候不能超过最大长度.

值如果是字符串或者日期需要加’’.

删除数据:DELETE

7bfff81a31d55afc59344ac620e3df50.png

查询数据:SELECT

0ad404a3b04a21e4453da4da49f2f1a0.png

语法顺序和执行顺序(重要)

MySQL查询语法顺序

SELECT

FROM

LEFT JOIN

ON

WHERE

GROUP BY

HAVING

ORDER BY

LIMIT

执行顺序

示例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

FROM(将最近的两张表,进行笛卡尔积)---VT1

ON(将VT1按照它的条件进行过滤)---VT2

LEFT JOIN(保留左表的记录)---VT3

WHERE(过滤VT3中的记录)--VT4…VTn

GROUP BY(对VT4的记录进行分组)---VT5

HAVING(对VT5中的记录进行过滤)---VT6

SELECT(对VT6中的记录,选取指定的列)--VT7

ORDER BY(对VT7的记录进行排序)--游标

LIMIT(对排序之后的值进行分页)

WHERE条件执行顺序(影响性能)

MYSQL:从左往右去执行WHERE条件的。

Oracle:从右往左去执行WHERE条件的。

排序

关键字:ORDERBY  ASC(升序)DESC(降序)

1f63c509eac512dc9198430425b64cfe.png

聚合函数

常用的:

sum():  求某一列的和

avg():   求某一列的平均值

max():  求某一列的最大值

min():   求某一列的最小值

count():求某一列的元素个数

分组

c2b298eedd7c2f33c040b59a883646f2.png

关键字:1.GROUP BY   2.HAVING

注意事项:

select语句中的列(非聚合函数列),必须出现在group by子句中

group by子句中的列,不一定要出现在select语句中

聚合函数只能出现select语句中或者having语句中,一定不能出现在where语句中。

字段类型

常用的类型:

数字型: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个字节的定长字节字符串

注释

c7328010c3d0662f84ff76aeddf05fc5.png

4.  多表关联查询

交叉连接: CROSS JOIN

886da1c17e6914fac0282c9c98e528b0.png

内连接: INNER JOIN

内连接也叫等值连接,内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

18a8ca46ccc9840b5aa9059e8f397c52.png

外连接

外连接又分为:左外连接、右外连接、全外连接

左外连接:LEFT JOIN(使用LEFT JOIN,则主表在它左边)

ca42089e1105c544f45704996e821d8a.png

右外连接::RIGHT JOIN (使用RIGHT JOIN,则主表在它右边)

a4b62454be05ca83f36ea77ec4867b86.png

全外连接(MySQL不支持):FULL  JOIN

e8950bb4eb4afeda06d33bc68e56fe42.png

分页查询:LIMIT

3b2c642c3d2a486ab6a250eb9b856889.png

5.  MySQL事务处理

事务概述:MySQL 事务主要用于处理操作量大,复杂度高的数据。

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。

事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。

事务用来管理DML操作,比如 insert,update,delete 语句

一般来说,事务是必须满足4个条件(ACID):

原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。

稳定性:数据库在事务执行前后状态都必须是稳定的。

隔离性:事务之间不会相互影响。

持久性:事务执行成功后必须全部写入磁盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值