petstore建库记录

petstore建库记录

本文用于个人记录,对网友价值微乎其微
需要数据库文件可以直接下载 petstore.sql ,不过这个文件是写作业的时候写的,记录了代码的全过程,运行文件会有一些查询,不过不会影响数据库的生成就是。

综合实例petstore索引

使用 create index 创建索引

  1. 对 account 表中的 email 列按降序创建普通索引
mysql> create index i_em_ind on account(email desc);
Query OK, 0 rows affected (1.14 sec)
Records: 0  Duplicates: 0  Warnings: 0
  1. 对 account 表中的 fullname 和 address 列 创建复合索引 c_ga_ind
mysql> create index c_fa_ind on account(fullname,address);
Query OK, 0 rows affected (0.71 sec)
Records: 0  Duplicates: 0  Warnings: 0
  1. 对 product 表中的 name 列前 4 个字创建唯一索引 u_na_ind
mysql> create unique index u_na_ind on product(name(4));
Query OK, 0 rows affected (0.88 sec)
Records: 0  Duplicates: 0  Warnings: 0

使用 alter table 添加索引

  1. 对 category 表中的 catid 列创建主键索引, catname 列添加一个唯一索引 u_ca_ind

因为 catgroy 表中设定的主键就是 catname ,所以此处省略语句”add primary key(catname), “

mysql> alter table category
add unique u_ca_ind(catname);
Query OK, 0 rows affected (0.74 sec)
Records: 0  Duplicates: 0  Warnings: 0
  1. 对 lineitem 表中的 orderid 和 itemid 列创建主键索引,quantity 和 unitcost 列添加一个复合索引 c_qu_ind

因为 lineitem 表中设定的主键就是 orderid,itemid ,所以此处省略语句”add primary key(orderid,itemid), “

mysql> alter table lineitem
add index c_qu_ind(quantity,unitprice);
Query OK, 0 rows affected (0.80 sec)
Records: 0  Duplicates: 0  Warnings: 0
  1. 对 account 表中的 userid 列创建主键索引,fullname 列创建唯一索引 u_fu_ind

因为 account 表中设定的主键就是 userid ,所以此处省略语句”add primary key(userid), “

mysql> alter table account
add unique u_fu_ind(fullname);
Query OK, 0 rows affected (0.70 sec)
Records: 0  Duplicates: 0  Warnings: 0
  1. 创建购物车表 shopcat (购物车编号 shopcatid,客户编号 userid,商品编号 itemid,单价 quantity,数量 unitcost),并对购物车编号创建主键,在客户编号和商品编号上列上创建复合索引c_up_ind

设置主键主键时会自动添加 not null 属性,省略 not null

mysql> create table shopcat(
    shopcatid int(11) primary key,
    userid char(10) not null,
    itemid char(10) not null,
    quantity int(11) not null,
    unitprice decimal(10,2) not null,
    index c_up_ind(userid,itemid)
);
Query OK, 0 rows affected (1.02 sec)

其他操作

  1. 显示 shopcat 表的索引情况
mysql> show index from shopcat;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table   | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| shopcat |          0 | PRIMARY  |            1 | shopcatid   | A         |           0 | NULL     | NULL   |      | BTREE      |         |               | YES     | NULL       |
| shopcat |          1 | c_up_ind |            1 | userid      | A         |           0 | NULL     | NULL   |      | BTREE      |         |               | YES     | NULL       |
| shopcat |          1 | c_up_ind |            2 | itemid      | A         |           0 | NULL     | NULL   |      | BTREE      |         |               | YES     | NULL       |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
3 rows in set (0.33 sec)
  1. 删除 shopcat 表上的 c_up_ind 索引
mysql> drop index c_up_ind on shopcat;
Query OK, 0 rows affected (0.34 sec)
Records: 0  Duplicates: 0  Warnings: 0

  转载请注明: F-同学 petstore建库记录

  目录