MySQL总结

1.索引是对数据库表中一列或多列的值进行排序的一种结构。索引类型;主键索引(primary key)、唯一索引(unique)、普通索引(index)、全文索引(fulltext)。

2.添加索引:create [unique] index index_name on tab_name (col_name [(lenght)] [asc | desc],...); 或 alter table table_name add index [index_name] (index_col_name,...);

CREATE TABLE t21(
    id INT,
    `name` VARCHAR(32));

-- 添加唯一索引
CREATE UNIQUE INDEX id_index ON t21(id);
-- 添加普通索引方式1
CREATE INDEX id_index ON t21(id);
-- 添加普通索引方式2
ALTER TABLE t21 ADD INDEX id_index (id);

3.添加主键(索引):alter table 表名 add primary key (列名,...);

CREATE TABLE t22(
    id INT,
    `name` VARCHAR(32));
ALTER TABLE t22 ADD PRIMARY KEY (id);
SHOW INDEX FROM t22;
4.删除索引:drop index index_name on tab_name;或 alter table table_name drop index index_name;
DROP INDEX id_index ON t22;

5.删除主键索引:alter table t_b drop primary key;

ALTER TABLE t22 DROP PRIMARY KEY;
6.查询索引(三种方式):show index(es) from table_name;  show keys from table_name;  desc table_Name;

-- 1.方式
SHOW INDEX FROM t22;
-- 2.方式
SHOW INDEXES FROM t22;
-- 3.方式
SHOW KEYS FROM t22;
-- 4.方式
DESC t22;

7.事务用于保证数据的一致性,它由一组相关的dml(增,删,改)语句组成,该组的dml语句要么全部成功,要么全部失败。事务和锁:当执行事务操作时(dlm语句),mysql会在表上加锁,防止其它用户改表的数据。mysql数据库控制台事务的几个重要操作:start transaction:开始一个事务;savepoint:设置保存点;rollback to:回退事务;rollback:回退全部事务;commit:提交事务,所有的操作生效,不能回退。

CREATE TABLE t23(
    id INT,
    `name` VARCHAR(32));
START TRANSACTION;
SAVEPOINT a;
INSERT INTO t23 VALUES(100,'tom');
SELECT * FROM t23;

SAVEPOINT b;
INSERT INTO t23 VALUES(200,'jack');
ROLLBACK TO b;
ROLLBACK TO a;
ROLLBACK; 
COMMIT;

innodb存储引擎支持事务,myisam不支持。可以在这个事务中(还没有提交时),创建多个保存点。可以在事务没有提交前,选择回退到哪个保存点。

如果不开始事务,默认情况下,dml操作是自动提交的,不能回滚。

INSERT INTO t23 VALUES(300,'milan');
SELECT * FROM t23;

如果开始一个事务,没有创建保存点。可以执行rollback,默认就是回退到你事务开始的状态。开始一个事务start transaction;或set autocommit=off;

START TRANSACTION; --开始一个事务
SET autocommit=off; --开始一个事务
INSERT INTO t23 VALUES(300,'king');
INSERT INTO t23 VALUES(300,'scott');
ROLLBACK;
COMMIT;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值