索引演示表一

  1. DROP TABLE IF EXISTS `actor`;
  2. CREATE TABLE `actor` (
  3. `id` INT ( 11 ) NOT NULL,
  4. `name` VARCHAR ( 45 ) DEFAULT NULL,
  5. `update_time` datetime DEFAULT NULL,
  6. PRIMARY KEY ( `id` )
  7. ) ENGINE = INNODB DEFAULT CHARSET = utf8;
  8. INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (1, 'a', NOW());
  9. INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (2, 'b', NOW());
  10. INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (3, 'c', NOW());
  11. DROP TABLE IF EXISTS `film`;
  12. CREATE TABLE `film` (
  13. `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
  14. `name` VARCHAR ( 10 ) DEFAULT NULL,
  15. PRIMARY KEY ( `id` ),
  16. KEY `idx_name` ( `name` )
  17. ) ENGINE = INNODB DEFAULT CHARSET = utf8;
  18. INSERT INTO `film` (`id`, `name`) VALUES (3, 'film0');
  19. INSERT INTO `film` (`id`, `name`) VALUES (1, 'film1');
  20. INSERT INTO `film` (`id`, `name`) VALUES (2, 'film2');
  21. DROP TABLE IF EXISTS `film_actor`;
  22. CREATE TABLE `film_actor` (
  23. `id` INT ( 11 ) NOT NULL,
  24. `film_id` INT ( 11 ) NOT NULL,
  25. `actor_id` INT ( 11 ) NOT NULL,
  26. `remark` VARCHAR ( 255 ) DEFAULT NULL,
  27. PRIMARY KEY ( `id` ),
  28. KEY `idx_film_actor_id` ( `film_id`, `actor_id` )
  29. ) ENGINE = INNODB DEFAULT CHARSET = utf8;
  30. INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (1, 1, 1, NULL);
  31. INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (2, 1, 2, NULL);
  32. INSERT INTO `film_actor` (`id`, `film_id`, `actor_id`, `remark`) VALUES (3, 2, 1, NULL);

索引演示表二

  1. DROP TABLE IF EXISTS `employees`;
  2. CREATE TABLE `employees` (
  3. `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
  4. `name` VARCHAR ( 24 ) NOT NULL DEFAULT '' COMMENT '姓名',
  5. `age` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '年龄',
  6. `position` VARCHAR ( 20 ) NOT NULL DEFAULT '' COMMENT '职位',
  7. `hire_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入职时间',
  8. PRIMARY KEY ( `id` ),
  9. KEY `idx_name_age_position` ( `name`, `age`, `position` ) USING BTREE
  10. ) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT = '员工记录表';
  11. INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (1, 'LiLei', 22, 'manager', NOW());
  12. INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (2, 'HanMeimei', 23, 'dev', NOW());
  13. INSERT INTO `employees` (`id`, `name`, `age`, `position`, `hire_time`) VALUES (3, 'Lucy', 23, 'dev', NOW());
  14. DROP PROCEDURE IF EXISTS insert_emp;
  15. delimiter $$
  16. CREATE PROCEDURE insert_emp ()
  17. BEGIN
  18. DECLARE i INT;
  19. SET i = 1;
  20. WHILE(i <= 100000) DO
  21. INSERT INTO employees (`name`, `age`, `position`) VALUES (CONCAT( 'zhuge', i ), i, 'dev');
  22. SET i = i + 1;
  23. END WHILE;
  24. END $$
  25. delimiter ;
  26. CALL insert_emp ();

连接查询演示表

  1. DROP TABLE IF EXISTS `t1`;
  2. CREATE TABLE `t1` (
  3. `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
  4. `a` INT ( 11 ) DEFAULT NULL,
  5. `b` INT ( 11 ) DEFAULT NULL,
  6. PRIMARY KEY ( `id` ),
  7. KEY `idx_a` ( `a` )
  8. ) ENGINE = INNODB DEFAULT CHARSET = utf8;
  9. DROP TABLE IF EXISTS `t2`;
  10. CREATE TABLE t2 LIKE t1;
  11. DROP PROCEDURE IF EXISTS insert_t1;
  12. delimiter $$
  13. CREATE PROCEDURE insert_t1 ()
  14. BEGIN
  15. DECLARE i INT;
  16. SET i = 1;
  17. WHILE(i <= 10000) DO
  18. INSERT INTO t1 (`a`, `b`) VALUES (i, i);
  19. SET i = i + 1;
  20. END WHILE;
  21. END $$
  22. delimiter ;
  23. CALL insert_t1 ();
  24. DROP PROCEDURE IF EXISTS insert_t2;
  25. delimiter $$
  26. CREATE PROCEDURE insert_t2 ()
  27. BEGIN
  28. DECLARE i INT;
  29. SET i = 1;
  30. WHILE(i <= 100) DO
  31. INSERT INTO t2 (`a`, `b`) VALUES (i, i);
  32. SET i = i + 1;
  33. END WHILE;
  34. END $$
  35. delimiter ;
  36. CALL insert_t2 ();

锁演示表

  1. DROP TABLE IF EXISTS `mylock`;
  2. CREATE TABLE `mylock` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `NAME` varchar(20) DEFAULT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  7. INSERT INTO `mylock` (`id`, `NAME`) VALUES (1, 'a');
  8. INSERT INTO `mylock` (`id`, `NAME`) VALUES (2, 'b');
  9. INSERT INTO `mylock` (`id`, `NAME`) VALUES (3, 'c');
  10. INSERT INTO `mylock` (`id`, `NAME`) VALUES (4, 'd');

事务演示表

  1. DROP TABLE IF EXISTS `account`;
  2. CREATE TABLE `account` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `name` varchar(255) DEFAULT NULL,
  5. `balance` int(11) DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  8. INSERT INTO `account` (`id`, `name`, `balance`) VALUES (1, 'lilei', 450);
  9. INSERT INTO `account` (`id`, `name`, `balance`) VALUES (2, 'hanmei', 16000);
  10. INSERT INTO `account` (`id`, `name`, `balance`) VALUES (3, 'lucy', 2400);