关于mysql:MYSQL

68次阅读

共计 2121 个字符,预计需要花费 6 分钟才能阅读完成。

MYSQL

查看数据库

show databases;

抉择数据库

use 数据库名;

查看数据库表格

show tables;

创立数据库

create database 数据库名;

删除数据库

drop database 数据库名;

删除数据库表

drop table 表名;

插入数据

insert into 表名 (字段)values(数据);

查问数据

select * from 表名;
select * from 表名 where 字段 ='条件';

更新数据

update 表名 set 字段 ='批改的数据' where 字段 ='抉择的字段';

删除数据

delete from 表名 where 字段 ='抉择的字段';
注意事项:如果没有 where,MySQL 会删除所有数据。

LIKE(含糊查问)

select * from 表名 where name LIKE 'java%';(查问以 Java 结尾的信息)select * from 表名 where name LIKE '%java';(查问以 Java 结尾的信息)select * from 表名 where name LIKE '%java%';(查问蕴含 Java 的信息)索引:% 结尾的含糊查问会令索引生效。%:代表多个字符。_:代表单个字符。

UNION(select 连贯)

select 字段 from 表名 1 union(distinct | all) select 字段 from 表名 2;
DISTINCT:删除后果集中反复的数据。默认状况下 UNION 操作符曾经删除了反复数据。ALL:返回所有后果集,蕴含反复数据。

ORDER BY(排序)

select * from 表名 order by 字段 ASC;(依据升序字段排序)select * from 表名 order by 字段 desc;(依据字段倒序排序)默认状况下升序排序,所以 ASC 能够省略。

GROUP BY(分组)

select 字段 1, 字段 2 from 表名 group by 字段 1;
select 字段 1, 字段 2 from 表名 group by 字段 1 WITH ROLLUP;
WITH ROLLUP:以 null 进行汇总。

DISTINCT(去反复)

select 

表连贯

INNER JOIN(内连贯或等值连贯):获取两个表中字段匹配关系的记录。LEFT JOIN(左连贯):获取左表所有记录,即便右表没有对应匹配的记录。RIGHT JOIN(右连贯):获取右表所有记录,即便左表没有对应匹配的记录。select * from 表名 1 a INNER JOIN 表名 2 b on a. 字段 1 =b. 字段 2;
select * from 表名 1 a LEFT JOIN 表名 2 b on a. 字段 1 =b. 字段 2;
select * from 表名 1 a RIGHT JOIN 表名 2 b on a. 字段 1 =b. 字段 2;

INNER JOIN(内连贯):取两表中的交加
LEFT  JOIN(左连贯):取左表和两表的交加
RIGHT JOIN(右连贯):取右表和两表的交加

多表查问:select * from 表 1 a inner join 表 2 b on a. 字段 =b. 字段 
left join 表 3 c on b. 字段 =c. 字段;
内连贯 左连贯 右连贯

数据库类型

数值类型

类型 大小 用处
TINYINT 1byte 小整型值
SMALLINT 2byte 大整型值
MEDIUMINT 3byte 大整型值
INT 或 INTEGER 4byte 大整型值
BIGINT 8byte 极大整型值
FLOAT 4byte 单精度浮点数值
DOUBLE 8byte 双精度浮点数值
DECIMAL 对 DECIMAL(M,D),如果 M >D,为 M + 2 否则为 D +2 小数值

日期类型

类型 大小 (byte) 格局 用处
DATE 3 YYYY-MM-DD 日期值
TIME 3 HH:MM:SS 时分秒
YEAR 1 YYYY 年份值
DATETIME 8 YYYY-MM-DD HH:MM:SS 日期工夫
TIMESTAMP 4 YYYYMMDD HHMMSS 日期工夫

字符串类型

类型 大小 用处
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串

MYSQL 事务

1、mysql 中只有应用 innodb 数据库引擎的数据库或表才反对事务。2、mysql 中的 myisam 数据库引擎不反对事务。3、事务处理能够用来保护数据库的完整性,保障成批的 SQL 语句要么全副执行,要么全副不执行。4、事务用来治理 insert、update、delete

事务是必须满足 4 个条件 (ACID):

1、原子性:要么全副实现,要么全副不实现。2、一致性:在事务开始之前和事务完结当前,数据库的完整性没有被毁坏。3、隔离性:事务之间互相不影响。4、持久性:事务处理完结之后,对数据进行一个永恒的保留。

事务的隔离级别:

1、读已提交
2、读未提交
3、可反复读
4、串行化 

MySQL 事务处理实现:

BEGIN       开始一个事务
ROLLBACK    事务回滚
COMMIT      事务确认 

MYSQL 索引

1、mysql 索引是排序好的数据结构(B+ 树结构)。
2、建设索引会占用磁盘空间的索引文件。
3、对常常批改的数据,不适宜创立索引,会破环 B + 树结构。

索引

 创立一般索引:没有任何限度
create index 索引名 on 表名 (字段);

创立惟一索引:索引列的值必须惟一,容许有空值。create unique index 索引名 on 表名 (字段);

删除索引
drop index 索引名 on 表名;

显示索引信息
show index from 表名; 




















正文完
 0