exam1:
    创建数据库Market,在market中创建数据表customers,customers表结构如表4.6所示,按要求进行操作。
    表4.6 customers表结构

    字段名 数据类型 主键 外键 非空 唯一 自增
    c_num int(11)
    c_name varchar(50)
    c_contact varchar(50)
    c_city varchar(50)
    c_birth datetime
    • 创建数据库Market。
    • 创建数据表customers,在c_num字段上添加主键约束和自增约束,在c_birth字段上添加非空约束。
    • 将c_contact字段插入到c_birth字段后面。
    • 将c_name字段数据类型改为varchar(70)。
    • 将c_contact字段改为c_phone。
    • 增加c_gender字段,数据类型为char(1)。
    • 将表名修改为customers_info。
    • 删除字段c_city。
    • 修改数据表的存储引擎MyISAM。 ```sql —1.创建数据库Market create database Market;

    —2.创建数据表customers,在c_num字段上添加主键约束和自增约束,在c_birth字段上添加非空约束 create table customers( c_num int(11) not null primary key auto_increment, c_name varchar(50), c_contact varchar(50), c_city varchar(50), c_birth datetime not null );

    —3.将c_contact字段插入到c_birth字段后面 alter table customers modify c_contact varchar(50) after c_birth;

    —4.将c_name字段数据类型改为varchar(70)。 alter table customers modify c_name varchar(70);

    —5.将c_contact字段改为c_phone。 alter table customers change c_contact c_phone varchar(50);

    —6.增加c_gender字段,数据类型为char(1) alter table customers add c_gender char(1);

    —7.将表名修改为customers_info alter table customers rename to customers_info;

    —8.删除字段c_city alter table customers_info drop c_city;

    —9.修改数据表的存储引擎MyISAM show engines; alter table customers_info engine=MyISAM; show create table customers_info;

    1. exam2:<br />在market中创建数据表ordersorders表结构如表4.7所示,按要求进行操作。<br />**表4.7 orders表结构**<br />
    2. | 字段名 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 自增 |
    3. | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
    4. | o_num | int11 | | | | | |
    5. | o_date | date | | | | | |
    6. | c_id | int(11) | | | | | |
    7. - 创建数据表orders,在o_num字段上添加主键约束和自增约束,在c_id字段上添加外键约束,关联customers表中的主键c_num
    8. - 删除orders表的外键约束,然后删除表customers
    9. ```sql
    10. --1.创建数据表orders,在o_num字段上添加主键约束和自增约束,在c_id字段上添加外键约束,关联customers表中的主键c_num
    11. create table orders(
    12. o_num int(11) primary key auto_increment,
    13. o_date date,
    14. c_id int(11),
    15. constraint fk_orders_customers foreign key(c_id) references customers_info(c_num)
    16. );
    • 这边有个注意点:应为customers_info表的engine改为MyISAM,MySQL默认engine是InnoDB,所以要修改engine。 ```sql mysql> show create table customers_info \G * 1. row *
      1. Table: customers_info
      Create Table: CREATE TABLE customers_info ( c_num int(11) NOT NULL, c_name varchar(70) DEFAULT NULL, c_birth datetime NOT NULL, c_phone varchar(50) DEFAULT NULL, c_gender char(1) DEFAULT NULL, PRIMARY KEY (c_num), UNIQUE KEY c_num (c_num) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 1 row in set (0.00 sec)

    —修改engine alter table customers_info engine=InnoDB;

    1. ```sql
    2. --2.删除orders表的外键约束,然后删除表customers
    3. alter table orders drop foreign key fk_orders_customer;
    4. --当只删除一张表是,不需要加入if exist
    5. mysql> drop table [if exists] orders;
    6. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[if exists] orders' at line 1
    7. mysql> drop table orders;
    8. Query OK, 0 rows affected (0.04 sec)