MySQL的表和字段信息的变更


ALTER TABLE table-name DROP column-name; #删除某个字段
ALTER TABLE table-name ADD column-name INT;#添加某个字段(需要指定数据类型),还可以添加未知信息,FIRST , AFTER xxxx
ALTER TABLE table-name CHANGE source-column-name new-column-name DATATYPE;#更换字段名字和类型
ALTER TABLE table-name MODIFY column-name DATATYPE NOT NULL DEFAULT 100;# 变更字段约束条件
ALTER TABLE table-name ALTER column-name SET DEFAULT 1000;# 变更字段约束条件,当然也可以DROP DEFAULT
ALTER TABLE table-name ENGINE = MYISAM;#变更引擎
ALTER TABLE old-table-name RENAME TO new-table-name;#修改表名
ALTER TABLE table-name DROP FOREIGN KEY key-name;#删除外键

正则表达式


SELECT * FROM table-name WHERE column-name REGEXP '正则表达式内容';#正则的使用

分组查询和排序查询


SELECT * FROM table-name ORDER BY column-name ASC;#也可以是DESC,排序查询,表名和字段名都可以多个
SELECT * FROM table-name GROUP BY column-name;#分组查询

MySQL事务


事务是MySQL保障数据一致性的重要机制,MySQL的事务具备四种基本属性

1、原子性

每一个事务只能完全提交或者回滚,不存在事务执行一般的情况。

2、一致性

数据一致性状态只能从一中状态成为另外一种一致性状态。

3、隔离性

事务与事务的操作相互隔离,这种特性通过锁机制实现。

4、持久性

改变了状态就是改变了,不会因为其他原因例如重启等二变动,事务状态改变了,这种改变是永久性的。

MySQL事务控制语句


BEGIN
DO SOMETHING
COMMIT/ROLLBACK

MySQL的事务隔离级别


1、未提交读

SET GLOBAL TRANSATION ISOLATION LEVEL READ UNCOMMITTED;

性能没有显著提高,很少用;

2、提交读

SET GLOBAL TRANSATION ISOLATION LEVEL READ COMMITTED;

大多数数据库的默认事务隔离级别,但是不是MySQL的,会有问题存在;

3、可重复读

SET GLOBAL TRANSATION ISOLATION LEVEL REPEATEABLE READ;

MySQL的默认事务隔离级别,但理论上有可能导致一个问题,幻读。InnoDB和Flacon存储引擎通过并发控制解决了这个问题。

4、可串行化

SET GLOBAL TRANSATION ISOLATION LEVEL SERIALIZABLED;

最高级别,有锁机制实现,强行排序事务,会导致大量的超时和锁竞争。

InnoDB的锁机制


1、共享锁

锁行或者多行,获得锁进行读取;

2、排它锁

锁行或者多行,获得锁进行写入;

3、意向锁

锁表,可读可写;

最新文章

  1. 【.NET深呼吸】动态类型(扩充篇)
  2. log4net位置与使用方法
  3. 优化MySchool数据库(存储过程)
  4. [Tool] PLSQL使用技巧
  5. MFC中添加消息响应函数
  6. 操作SQLite的dbhelper
  7. SQL:每年每月最高的两个温度
  8. oracle插入例子
  9. HDOJ 2442 -bricks 状态压缩DP 一直TLE.打表过的..
  10. 企业架构研究总结(29)——TOGAF架构内容框架之概述及架构工作产品分类
  11. 关于JSON.parse在ie6,ie7下未定义的issue
  12. 用mp3stego来加密与解密文件的几次尝试
  13. Manacher’s Algorithm (神啊)
  14. alpha冲刺第七天
  15. WPF利用附加属性修改ShowGridLines效果
  16. jQuery实现单击某个标签改变样式
  17. js获取时间戳的三种方法
  18. C#执行JavaScript脚本代替Compute
  19. Django 模板格式化日期
  20. ubuntu11.10 64bit 编译android 4.0

热门文章

  1. Ubuntu14.04下安装Libsvm,并使用Libsvm
  2. 前端页面——Cookie与Session有什么差别
  3. 安装vmware vCenter Appliance
  4. VC++6.0远程调试(亲试成功)
  5. Tensorflow同时加载使用多个模型
  6. A股最新的自由现金流和折现估值查询
  7. js读取csv文件为json显示
  8. python的初始化运行了哪些?
  9. yii中缓存(cache)详解
  10. javascript的replace方法的高级应用