diff --git "a/45\347\216\213\345\274\272/23219.md" "b/45\347\216\213\345\274\272/23219.md" new file mode 100644 index 0000000000000000000000000000000000000000..a360eb874ff8aacd534738901dd4731ba8e2aaa0 --- /dev/null +++ "b/45\347\216\213\345\274\272/23219.md" @@ -0,0 +1,248 @@ +## 1、创建数据库test01_market + +CREATE DATABASE test01_market; +USE test01_market; +ALTER DATABASE test01_market CHARSET utf8; +show CREATE DATABASE test01_market; +-- 2、创建表格customers +-- | 字段名 | 数据类型 | +-- | --------- | ----------- | +-- | c_num | int(11) | +-- | c_name | varchar(50) | +-- | c_contact | varchar(50) | +-- | c_city | varchar(50) | +-- | c_birth | date | +CREATE TABLE customers( + c_num int(11), + c_name VARCHAR(50), + c_contact VARCHAR(50), + c_city VARCHAR(50), + c_birth date +); +INSERT into customers_info VALUES(1,'王强','','2022-02-19); +-- 查看数据表 +SELECT * FROM customers_info; +-- 查看数据表结构 +DESC customers_info +-- **要求3:**将c_contact字段移动到c_birth字段后面 AFTER:在 之后 +ALTER TABLE customers_info MODIFY c_contact VARCHAR(50) AFTER c_birth; +-- **要求4:**将c_name字段数据类型改为 varchar(70) modify :修改 +ALTER TABLE customers_info MODIFY c_name VARCHAR(70) +-- **要求5:**将c_contact字段改名为c_phone? change:改变 +ALTER TABLE customers_info CHANGE c_contact c_phone VARCHAR(50); +-- **要求6:**增加c_gender字段到c_name后面,数据类型为char(1) ADD :添加 +ALTER TABLE customers_info add c_gender char(1) AFTER c_name; +-- **要求7:**将表名改为customers_info RENAME:重新命名 +ALTER TABLE customers RENAME to customers_info; +-- **要求8:**删除字段c_city DROP:删除 +ALTER TABLE customers_info DROP c_city; + +## 第2题 + +DROP DATABASE test02_library; +show databases; +-- 1、创建数据库test02_library +CREATE DATABASE test02_library; +USE test02_library; +ALTER DATABASE test02_library CHARSET utf8; +-- 2、创建表格books +DROP TABLE books; +-- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | +-- | ------- | -------- | ------------- | -------- | ---- | +-- | b_id | 书编号 | int(11) | 否 | 是 | +-- | b_name | 书名 | varchar(50) | 否 | 否 | +-- | authors | 作者 | varchar(100) | 否 | 否 | +-- | price | 价格 | float | 否 | 否 | +-- | pubdate | 出版日期 | year | 否 | 否 | +-- | note | 说明 | varchar(100) | 是 | 否 | +-- | num | 库存 | int(11) | 否 | 否 | +CREATE TABLE books( + b_id int(11), + b_name VARCHAR(50), + authors VARCHAR(100), + price FLOAT, + pubdate year, + note VARCHAR(100), + num int(11) +); +-- 3、向books表中插入记录 +DESC books; +SELECT * FROM books; +-- 1) 指定所有字段名称插入第一条记录 +INSERT INTO books(b_id,b_name,authors,price,pubdate,note,num)VALUES(1,'活着','余华',50.5,'2022','小说',10) +-- 2)不指定字段名称插入第二记录 +INSERT INTO books VALUES(2,'兄弟','余华',49.5,'2010','小说',100) +-- 3)同时插入多条记录(剩下的所有记录) +INSERT INTO books VALUES(3,'许三观卖血记','余华',39.5,'2015','小说',15),(4,'在细雨中呼喊','余华',60,'2020','小说',200) +-- | b_id | b_name | authors | price | pubdate | note | num | +-- | ---- | ------------- | --------------- | ----- | ------- | -------- | ---- | +-- | 1 | Tal of AAA | Dickes | 23 | 1995 | novel | 11 | +-- | 2 | EmmaT | Jane lura | 35 | 1993 | joke | 22 | +-- | 3 | Story of Jane | Jane Tim | 40 | 2001 | novel | 0 | +-- | 4 | Lovey Day | George Byron | 20 | 2005 | novel | 30 | +-- | 5 | Old land | Honore Blade | 30 | 2010 | law | 0 | +-- | 6 | The Battle | Upton Sara | 30 | 1999 | medicine | 40 | +-- | 7 | Rose Hood | Richard haggard | 28 | 2008 | cartoon | 28 | +-- +-- 4、将小说类型(novel)的书的价格都增加5。 +UPDATE books SET price = price+5; +-- 5、将名称为EmmaT的书的价格改为40。 +UPDATE books SET price = 40 WHERE note='四大名著'; +-- 6、删除库存为0的记录 +UPDATE books SET num=NULL WHERE num<100; + + + + + + 第3题 DROP DATABASE test03_bookstore; -- 1、创建数据库test03_bookstore CREATE DATABASE test03_bookstore; USE test03_bookstore; ALTER DATABASE test03_bookstore CHARSET utf8; -- 2、创建book表 DROP TABLE book; -- ```mysql -- +----------+--------------+------+-----+---------+----------------+ -- | Field | Type | Null | Key | Default | Extra | -- +----------+--------------+------+-----+---------+----------------+ -- | id | int(11) | NO | PRI | NULL | auto_increment | -- | title | varchar(100) | NO | | NULL | | -- | author | varchar(100) | NO | | NULL | | -- | price | double(11,2) | NO | | NULL | | -- | sales | int(11) | NO | | NULL | | -- | stock | int(11) | NO | | NULL | | -- | img_path | varchar(100) | NO | | NULL | | -- +----------+--------------+------+-----+---------+----------------+ -- ``` CREATE TABLE book( + + id int(11), + title VARCHAR(100), + author VARCHAR(100), + price DOUBLE(11,2), + sales int(11), + stock int(11), + img_path VARCHAR(100) + +); + +-- 尝试添加部分模拟数据,参考示例如下: +-- + +-- ```mysql +-- +----+-------------+------------+-------+-------+-------+----------------------------+ +-- | id | title | author | price | sales | stock | img_path | +-- +----+-------------+------------+-------+-------+-------+-----------------------------+ +-- | 1 | 解忧杂货店 | 东野圭吾 | 27.20 | 102 | 98 | upload/books/解忧杂货店.jpg | +-- | 2 | 边城 | 沈从文 | 23.00 | 102 | 98 | upload/books/边城.jpg | +-- +----+---------------+------------+-------+-------+-------+----------------------------+ +-- ``` +DESC book; +SELECT * FROM book; +INSERT INTO book VALUES(1,'解忧杂货店','东野圭吾',27.20,102,98,'C:\Users\刘少海\Desktop\作业\5.img'),(2,'边城','沈从文',23.00,102,98,'C:\Users\王强\Desktop\作业\6.img') +UPDATE book SET img_path=('upload/books/解忧杂货店.jpg'); +UPDATE book SET img_path=('upload/books/边城.jpg ') WHERE id=2; +-- 3、创建用户表users,并插入数据 +DROP TABLE users; +-- ```mysql +-- +----------+--------------+------+-----+---------+----------------+ +-- | Field | Type | Null | Key | Default | Extra | +-- +----------+--------------+------+-----+---------+----------------+ +-- | id | int(11) | NO | PRI | NULL | auto_increment | +-- | username | varchar(100) | NO | UNI | NULL | | +-- | password | varchar(100) | NO | | NULL | | +-- | email | varchar(100) | YES | | NULL | | +-- +----------+--------------+------+-----+---------+----------------+ + +-- ``` +-- + +-- 尝试添加部分模拟数据,参考示例如下: +-- + +-- ```mysql +-- +----+----------+----------------------------------+--------------------+ +-- | id | username | password | email | +-- +----+----------+----------------------------------+--------------------+ +-- | 1 | admin | 112233 | admin@mxdx.com | +-- +----+----------+----------------------------------+--------------------+ +-- ``` +CREATE TABLE users( + + id int(11), + username VARCHAR(100), + password VARCHAR(100), + email VARCHAR(100) + +); +DESC users; +SELECT * FROM users; +INSERT INTO users VALUES(1,'admin',112233,'admin@mxdx.com') + +-- 4、创建订单表orders +-- + +-- ```mysql +-- +--------------+--------------+------+-----+---------+-------+ +-- | Field | Type | Null | Key | Default | Extra | +-- +--------------+--------------+------+-----+---------+-------+ +-- | id | varchar(100) | NO | PRI | NULL | | +-- | order_time | datetime | NO | | NULL | | +-- | total_count | int(11) | NO | | NULL | | +-- | total_amount | double(11,2) | NO | | NULL | | +-- | state | int(11) | NO | | NULL | | +-- | user_id | int(11) | NO | MUL | NULL | | +-- +--------------+--------------+------+-----+---------+-------+ + +-- ``` +-- + +-- 尝试添加部分模拟数据,参考示例如下: +-- + +-- ```mysql +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | id | order_time | total_count | total_amount | state | user_id | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | 15294258455691 | 2018-06-20 00:30:45 | 2 | 50.20 | 0 | 1 | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- ``` +CREATE table orders( + + id VARCHAR(100), + order_time datetime, + total_count int(11), + total_amount double(11,2), + state int(11), + user_id int(11) + +); +DESC orders; +SELECT * FROM orders; +insert into orders(id,order_time,total_count,total_amount,state,user_id) VALUES (15294258455691,'2018-06-20 00:39:45',2,250.20,0,1) +-- 5、创建订单明细表order_items +DROP TABLE order_items; +-- ```mysql +-- +----------+--------------+------+-----+---------+----------------+ +-- | Field | Type | Null | Key | Default | Extra | +-- +----------+--------------+------+-----+---------+----------------+ +-- | id | int(11) | NO | PRI | NULL | auto_increment | +-- | count | int(11) | NO | | NULL | | +-- | amount | double(11,2) | NO | | NULL | | +-- | title | varchar(100) | NO | | NULL | | +-- | author | varchar(100) | NO | | NULL | | +-- | price | double(11,2) | NO | | NULL | | +-- | img_path | varchar(100) | NO | | NULL | | +-- | order_id | varchar(100) | NO | MUL | NULL | | +-- +----------+--------------+------+-----+---------+----------------+ + +-- ``` +-- + +-- 尝试添加部分模拟数据,参考示例如下: +-- + +-- ```mysql +-- +----+-------+--------+---------+---------+-------+----------------+----------------+ +-- | id |count| amount| title | author | price | img_path | order_id | +-- +----+-------+--------+------------+----------+-------+----------------+----------------+ +-- | 1 | 1 | 27.20| 解忧杂货店 | 东野圭吾 | 27.20 | static/img/default.jpg|15294258455691 | +-- | 2 | 1 | 23.00| 边城 | 沈从文 | 23.00 | static/img/default.jpg|15294258455691 | +-- +----+-------+--------+------------+----------+-------+------------+----------------+ +-- ``` +CREATE TABLE order_items( + + id int(11), + count int(11), + amount double(11,2), + title VARCHAR(100), + author VARCHAR(100), + price DOUBLE(11,2), + img_path VARCHAR(100), + order_id VARCHAR(100) + +); +DESC order_items; +SELECT * FROM order_items; +INSERT INTO order_items VALUES(1,1,27.20,'解忧杂货店','东野圭吾',27.20,'static/img/default.jpg','15294258455691'),(2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg','15294258455691');