索引演示表一
DROP TABLE IF EXISTS `actor`;CREATE TABLE `actor` ( `id` INT ( 11 ) NOT NULL, `name` VARCHAR ( 45 ) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY ( `id` )) ENGINE = INNODB DEFAULT CHARSET = utf8;INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (1, 'a', NOW());INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (2, 'b', NOW());INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (3, 'c', NOW());DROP TABLE IF EXISTS `film`;CREATE TABLE `film` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR ( 10 ) DEFAULT NULL, PRIMARY KEY ( `id` ), KEY `idx_name` ( `name` )) ENGINE = INNODB DEFAULT CHARSET = utf8;INSERT INTO `film` (`id`, `name`) VALUES (3, 'film0');INSERT INTO `film` (`id`, `name`) VALUES (1, 'film1');INSERT INTO `film` (`id`, `name`) VALUES (2, 'film2');DROP TABLE IF EXISTS `film_actor`;CREATE TABLE `film_actor` ( `id` INT ( 11 ) NOT NULL, `film_id` INT ( 11 ) NOT NULL, `actor_id` INT ( 11 ) NOT NULL, `remark` VARCHAR ( 255 ) DEFAULT NULL, PRIMARY KEY ( `id` ), KEY `idx_film_actor_id` ( `film_id`, `actor_id` )) ENGINE = INNODB DEFAULT CHARSET = utf8;INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (1, 1, 1, NULL);INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (2, 1, 2, NULL);INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (3, 2, 1, NULL);
索引演示表二
DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR ( 24 ) NOT NULL DEFAULT '' COMMENT '姓名', `age` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '年龄', `position` VARCHAR ( 20 ) NOT NULL DEFAULT '' COMMENT '职位', `hire_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入职时间', PRIMARY KEY ( `id` ), KEY `idx_name_age_position` ( `name`, `age`, `position` ) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT = '员工记录表';INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (1, 'LiLei', 22, 'manager', NOW());INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (2, 'HanMeimei', 23, 'dev', NOW());INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (3, 'Lucy', 23, 'dev', NOW());DROP PROCEDURE IF EXISTS insert_emp;delimiter $$CREATE PROCEDURE insert_emp () BEGIN DECLARE i INT; SET i = 1; WHILE(i <= 100000) DO INSERT INTO employees (`name`, `age`, `position`) VALUES (CONCAT( 'zhuge', i ), i, 'dev'); SET i = i + 1; END WHILE;END $$delimiter ;CALL insert_emp ();
连接查询演示表
DROP TABLE IF EXISTS `t1`;CREATE TABLE `t1` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `a` INT ( 11 ) DEFAULT NULL, `b` INT ( 11 ) DEFAULT NULL, PRIMARY KEY ( `id` ), KEY `idx_a` ( `a` ) ) ENGINE = INNODB DEFAULT CHARSET = utf8;DROP TABLE IF EXISTS `t2`;CREATE TABLE t2 LIKE t1;DROP PROCEDURE IF EXISTS insert_t1;delimiter $$CREATE PROCEDURE insert_t1 () BEGIN DECLARE i INT; SET i = 1; WHILE(i <= 10000) DO INSERT INTO t1 (`a`, `b`) VALUES (i, i); SET i = i + 1; END WHILE;END $$delimiter ;CALL insert_t1 ();DROP PROCEDURE IF EXISTS insert_t2;delimiter $$CREATE PROCEDURE insert_t2 () BEGIN DECLARE i INT; SET i = 1; WHILE(i <= 100) DO INSERT INTO t2 (`a`, `b`) VALUES (i, i); SET i = i + 1; END WHILE;END $$delimiter ;CALL insert_t2 ();
锁演示表
DROP TABLE IF EXISTS `mylock`;CREATE TABLE `mylock` ( `id` int(11) NOT NULL AUTO_INCREMENT, `NAME` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;INSERT INTO `mylock` (`id`, `NAME`) VALUES (1, 'a');INSERT INTO `mylock` (`id`, `NAME`) VALUES (2, 'b');INSERT INTO `mylock` (`id`, `NAME`) VALUES (3, 'c');INSERT INTO `mylock` (`id`, `NAME`) VALUES (4, 'd');
事务演示表
DROP TABLE IF EXISTS `account`;CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `balance` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `account` (`id`, `name`, `balance`) VALUES (1, 'lilei', 450);INSERT INTO `account` (`id`, `name`, `balance`) VALUES (2, 'hanmei', 16000);INSERT INTO `account` (`id`, `name`, `balance`) VALUES (3, 'lucy', 2400);