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.字段;
内连贯左连贯右连贯

数据库类型

数值类型

类型大小用处
TINYINT1byte小整型值
SMALLINT2byte大整型值
MEDIUMINT3byte大整型值
INT或INTEGER4byte大整型值
BIGINT8byte极大整型值
FLOAT4byte单精度浮点数值
DOUBLE8byte双精度浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2小数值

日期类型

类型大小(byte)格局用处
DATE3YYYY-MM-DD日期值
TIME3HH:MM:SS时分秒
YEAR1YYYY年份值
DATETIME8YYYY-MM-DD HH:MM:SS日期工夫
TIMESTAMP4YYYYMMDD HHMMSS日期工夫

字符串类型

类型大小用处
CHAR0-255 bytes定长字符串
VARCHAR0-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 表名;