mysql—–sql语句(二)

ORDER BY 根据字段排序SELECT * FROM TABLE ORDER BY COLUME1 ASC|DESCGROUP BY 语句根据一个或多个列结果集进行 分组在分组的列上我们可以使用count sum avg等函数-- WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;-- 我们将以上的数据表按名字进行分组,再统计每个人登录的次数:-- mysql null 值的处理-- is null 当列的值为null 此运算符返回true-- is not null 当列的值不为null 运算符返回true查找数据表中 runoob_test_tbl 列是否为 NULLSELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;+---------------+--------------+| runoob_author | runoob_count |+---------------+--------------+| 菜鸟教程 | NULL || Google | NULL |+---------------+--------------+ SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;+---------------+--------------+| runoob_author | runoob_count |+---------------+--------------+| RUNOOB | 20 || FK | 20 |+---------------+--------------+--------------------------------------------------------------------------mysql 事务在mysql中只有使用了 Innodb 数据库引擎的数据库才支持事务事务处理可用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行事务用来管理insert update delete语句事务必须满足4个条件(ACID): 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)原子性: 一个事务中的所有操作, 那么全部完成, 那么全部不完成, 不会结束在中间某个环节。 事务在执行过程中发生错误, 会被回滚到事务开始 前的状态,就像这个事务重来没有执行过一样一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏,这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度 串联性以及后续数据库可以自发性完成预定的工作 隔离性:数据库允许多个事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时 由于交叉执行而导致数据的不一致。 事务隔离分为不同级别 包括读未提交 读提交 可重复读 和串行化持久性:事务处理结束后, 对数据的修改就是永久的, 即便系统故障也不会丢失mysql 事务处理主要有两种方法用 begin rollback commitbegin 开始一个事务rollback 事务回滚commit 事务确认mysql> begin; # 开始事务Query OK, 0 rows affected (0.00 sec) mysql> insert into runoob_transaction_test value(5);Query OK, 1 rows affected (0.01 sec) mysql> commit; # 提交事务Query OK, 0 rows affected (0.01 sec)mysql> begin; # 开始事务Query OK, 0 rows affected (0.00 sec) mysql> insert into runoob_transaction_test values(7);Query OK, 1 rows affected (0.00 sec) mysql> rollback; # 回滚Query OK, 0 rows affected (0.00 sec)---------------------------------------------------------------------------------------------ALTER TABLE table_1 DROP i; -- 删除字段iALTER TABLE table_1 ADD i INT;-- 添加字段 iALTER TABLE table_1 ADD i INT FIRST;-- 添加字段 i 设定位第一列ALTER TABLE table_1 ADD i INT after c;-- 添加字段 设定位于c个字段之后ALTER TABLE table_1 MODIFY c CHAR(10);-- 修改字段类型ALTER TABLE table_1 CHANGE c c CHAR(10);-- 修改字段类型 change 可以修改字段名ALTER TABLE table_1 CHANGE c b CHAR(10);-- 修改字段类型ALTER TABLE table_1 ALTER i SET DEFAULT 1000; -- 修改默认值为100 ALTER TABLE table_1 ALTER i DROP DEFAULT;-- 删除默认值ALTER TABLE table_1 RENAME TO table_12;-- 修改表名---------------------------------------------------------------------------------------------------索引索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

 

相关文章