7、mysql正则表达式、事务、alter命令
1、mysql正则表达式
模式 描述
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
. 匹配除“\n”之外的任何单个字符
[...] 字符集合
[^...] 负字符集合
p1|p2|p3 匹配p1或p2或p3
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
{n} n是一个非负整数,匹配确定的n次
{n,m} m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次
2、mysql事务
mysql事务主要用于处理操作量大,复杂度高的数据。
在mysql中只有使用了InnoDB数据库引擎的数据库或表才支持事务;
事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行;
事务用来管理insert、update、delete语句
一般来说,事务必须满足4个条件(ACID)
原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。
一致性:在事务开始之前和事务结束知乎,数据库的完整性没有被破坏。
隔离性:数据库允许多个并发事务同事对其数据进行读写和修改的能力。
持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
3、事务控制语句
begin或start transaction显示地开启一个事务;
commit;
rollback;
savepoint;
举例:
使用savepoint
savepoint savepoint_name; //声明一个savepoint
rollback to savepoint_name; //回滚到savepoint
release savepoint savepoint_name; //删除指定保留点
release savepoint;
rollback to identifier;
set transaction
mysql事务处理方法主要有两种:
(1)用begin,rollback,commit来实现;
(2)直接用set来改变mysql的自动提交模式
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
4、mysql alter命令
添加字段:
alter table table_name add field2 int;
删除字段:
alter table table_name drop field2;
指定新增字段位置-first
alter table table_name add i int first;
执行新增字段位置,某字段之后,after
alter table table_name drop i int after c;
修改字段名称及类型:
alter table table_name modify c char(10);
alter table table_name change i j integer;
alter table对null值和默认值的影响
alter table table_name modify j bigint not null default 100;
修改字段默认值
alter table table_name alter i set default 1000;
删除默认值
alter table table_name alter i drop default;
修改数据表类型
alter table table_name engine=myisam;
修改表名
alter table table_name rename to new_table_name;
alter使用笔记
alter table table_name engine=myisam; //修改存储引擎,修改为myisam
alter table table_name drop foregin keyname; //删除外键约束
alter table table_name modify name1 type1first|after name2;