mysql> create index index_name on xuesheng1(name);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table xuesheng1 add index index_score(score);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> create TABLE xuesheng2( id int(10) NOT NULL AUTO_INCREMENT, NAME varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, level int(10) NOT NULL, PRIMARY KEY (id),index index_name(name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> create unique index index_name on test01(name);
alter table test01 add unique index_name(name);
create table test (id int(10) not null auto_increment,name char(20) not null,score decimal(5,2) ,address varchar(20) default ' 未知',PRIMARY KEY(id), unique INDEX index_name(name));
create table test (id int(10) not null auto_increment,name char(20) not null,
score decimal(5,2) ,address varchar(20) default ' 未知',PRIMARY KEY(id), unique INDEX index_name(name));
或者
create table test (id int(10) not null auto_increment PRIMARY KEY ,name char(20) not null,
score decimal(5,2) ,address varchar(20) default ' 未知', unique INDEX index_name(name));
create table test03 (name varchar(9),age int(3),sex tinyint(1),INDEX test03(name,age,sex));
## 创建 name age sex的组合索引
create fulltext index content_tag_fulltext on test04(name,address); ## content_tag_fulltext为建立的全文索引的名称
alter table test04 add fulltext index content_tag_fulltext(content,tag);
create table test (id int(10) not null auto_increment,name char(20) not null,score decimal(5,2) ,address varchar(20) default ' 未知',PRIMARY KEY(id), fulltext key content_tag_fulltext(name,score));
mysql> show index from test\G; ## \G 是竖着显示,原来是横着的 不好看
mysql> show keys from test\G;
mysql> drop index index_name on test;
mysql> alter table test drop index_name;
原子性(Atomicity)
事务是一个完整的操作,事务的各元素是不可分的
事务中的所有元素必须作为一个整体提交或回滚
如果事务中的任何元素失败,则整个事务将失败
一致性(Consistency)
当事务完成时,数据必须处于一致状态
在事务开始前,数据库中存储的数据处于一致状态
在正在进行的事务中,数据可能处于不一致的状态
当事务成功完成时,数据必须再次回到已知的一致状态
隔离性(Isolation)
对数据进行修改的所有并发事务是彼此隔离的,表明事务必须是
独立的,它不应以任何方式依赖于或影响其他事务
修改数据的事务可在另- -个使用相同数据的事务开始之前访问这
些数据,或者在另-一个使用相同数据的事务结束之后访问这些数
据
持久性(Durability)
指不管系统是否发生故障,事务处理的结果都是永久的
一旦事务被提交,事务的效果会被永久地保留在数据库中
BEGIN或START TRANSACTION 开始 回滚也回滚到开始状态
COMMIT 提交
ROLLBACK 回滚
SAVEPOINT identifier 存档点
RELEASE SAVEPOINT identifier 删除存档点 (identifier 是存档的名称)
ROLLBACK TO identifier 回滚到某个存档点
SET TRANSACTION 设置事务
begin:开始一个事务
commit:提交一个事务
rollback:回滚一个事务
使用set命令进行控制
set autocommit=0 : 禁止自动提交 ## 等于begin命令 默认autocommit=1
set autocommit=1: 开启自动提交 ## 等于commit命令
注:只能向前回滚,无法向后回滚
即 存档先后 a b c 恢复到存到a以后就无法恢复到存档b和c
三种情况事务开始:
begin;
set autocommit=0;
start transaction
三种情况结束事务:
commit;
set autocommit=1;
rollback
方法1:alter table 修改
alter table table_name engine=引擎;
方法2:修改my.cnf,指定默认存储引擎并重启服务
在[mysqld]下面添加default-storage-engine=InnoDB
方法3:create table创建表时指定存储引擎
create table 表名(字段)engine=引擎