From d2b7561176a7f410f315ca0894e0543566f5a72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E9=91=AB?= <1057759237@qq.com> Date: Wed, 22 Feb 2023 13:12:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=97=E9=91=AB=E7=AC=AC=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...345\222\214dml\350\257\255\345\217\245.md" | 286 ++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 "02 \346\236\227\351\221\253/20230216 ddl\345\222\214dml\350\257\255\345\217\245.md" diff --git "a/02 \346\236\227\351\221\253/20230216 ddl\345\222\214dml\350\257\255\345\217\245.md" "b/02 \346\236\227\351\221\253/20230216 ddl\345\222\214dml\350\257\255\345\217\245.md" new file mode 100644 index 0000000..2e58501 --- /dev/null +++ "b/02 \346\236\227\351\221\253/20230216 ddl\345\222\214dml\350\257\255\345\217\245.md" @@ -0,0 +1,286 @@ +### 1 笔记 + +DDL + +创建自己的数据库 +create database [IF not EXISTS] 数据库名 + + + +删除数据库 +DROP DATABASE [IF EXISTS] 数据库名称 + + + +查看某个数据库的详细定义 +SHOW CREATE DATABASE 数据库名称 + + + + + +修改数据库的编码 +ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则 + + + +增加一个字段 +ALTER TABLE 表名称 ADD COLUMN 字段名 数据类型 + + + +删除一个字段 +ALTER TABLE 表名称 DROP COLUMN 字段名 + + + +修改一个字段名称 +ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型 + + + +修改一个字段的数据类型 +ALTER TABLE 表名称 MODIFY 字段名称 新数据类型 + + + +修改字段的位置,顺序 +ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; +ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; + + + +重命名表 +ALTER TABLE 表名称 RENAME TO 新名称 + + + + + +DML + +一条insert语句同时添加多行记录 +INSERT INTO 表名称 VALUES(值列表),(值列表),(值列表)... +INSERT INTO 表名称(字段列表) VALUES(值列表),(值列表),(值列表)... + + + +修改 +UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值 + + + +删除整个表的数据 +DELETE FROM 表名称 + + + +删除部分行 +DELETE FROM 表名称 WHERE 条件 + + + + + +### 2 作业 + +```sql +-- 第1题 +-- +-- 1、创建数据库test01_market +CREATE DATABASE test01_market; +show DATABASES; +USE test01_market; +-- 2、创建表格customers +CREATE TABLE customers( +c_num int(11), +c_name varchar(50), +c_contact varchar(50) , + c_city varchar(50), + c_birth date ); + DESC customers; +-- | 字段名 | 数据类型 | +-- | --- | --- | +-- | c_num | int(11) | +-- | c_name | varchar(50) | +-- | c_contact | varchar(50) | +-- | c_city | varchar(50) | +-- | c_birth | date | +-- +-- **要求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字段到c_name后面,数据类型为char(1) +ALTER TABLE customers ADD COLUMN c_gender char(1); +ALTER TABLE customers MODIFY c_gender char(1) AFTER c_name; +-- **要求7:**将表名改为customers_info +ALTER TABLE customers RENAME TO customers_info; +-- **要求8:**删除字段c_city +ALTER TABLE customers_info DROP COLUMN c_city; + + + + +-- 1、创建数据库test02_library +-- CREATE DATABASE test02_library; +-- USE test02_library; +-- 2、创建表格books +CREATE TABLE books( +b_id int(11) not NULL primary KEY, +b_name VARCHAR(50) not NULL, +b_authors varchar(100) not NULL, +price float(10.2) NOT NULL, +pubdate year NOT NULL, +note varchar(100), +num int(11) NOT NULL +); +DESC books; + +-- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | +-- | --- | --- | --- | --- | --- | +-- | b_id | 书编号 | int(11) | 否 | 是 | +-- | b_name | 书名 | varchar(50) | 否 | 否 | +-- | authors | 作者 | varchar(100) | 否 | 否 | +-- | price | 价格 | float | 否 | 否 | +-- | pubdate | 出版日期 | year | 否 | 否 | +-- | note | 说明 | varchar(100) | 是 | 否 | +-- | num | 库存 | int(11) | 否 | 否 | +-- +-- 3、向books表中插入记录 +-- +-- 1) 指定所有字段名称插入第一条记录 +INSERT INTO books (b_id,b_name,b_authors,price,pubdate,note,num) VALUES ('1','Tal of AAA','Dickes','23','1995','novel','11'); +DESC books; +SELECT * FROM books; +-- 2)不指定字段名称插入第二记录 +INSERT into books VALUES ('2','EmmaT','Jane lura','35','1993','joke','22'); +-- 3)同时插入多条记录(剩下的所有记录) +INSERT INTO books VALUES ('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' ); +-- | 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。 +-- +-- 5、将名称为EmmaT的书的价格改为40。 +-- +-- 6、删除库存为0的记录 +-- + + +-- DROP TABLES book; +-- DROP DATABASES test03_bookstore; + +-- 1、创建数据库test03_bookstore +CREATE DATABASE test03_bookstore CHARSET utf8; +-- 2、创建book表 +USE test03_bookstore; +CREATE TABLE book( +id int(11) NOT NULL PRIMARY KEY, +title varchar(100) NOT NULL, +author varchar(100) NOT NULL, +price double(11,2) NOT NULL, +sales int(11) NOT NULL, +stock int(11) NOT NULL, +img_path varchar(100) NOT NULL ); +-- +----------+--------------+------+-----+---------+----------------+ +-- | 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 | | +-- +----------+--------------+------+-----+---------+----------------+ +-- +-- 尝试添加部分模拟数据,参考示例如下: +-- +-- +----+-------------+------------+-------+-------+-------+----------------------------+ +-- | id | title | author | price | sales | stock | img_path | +-- +----+-------------+------------+-------+-------+-------+-----------------------------+ +-- | 1 | 解忧杂货店 | 东野圭吾 | 27.20 | 102 | 98 | upload/books/解忧杂货店.jpg | +-- | 2 | 边城 | 沈从文 | 23.00 | 102 | 98 | upload/books/边城.jpg | +-- +----+---------------+------------+-------+-------+-------+----------------------------+ +INSERT INTO book VALUES('1','解忧杂货店','东野圭吾','27.20','102','98','upload/books/解忧杂货店.jpg'); +SELECT * FROM book; +-- 3、创建用户表users,并插入数据 +create table users(id int(11)not null primary key auto_increment,username varchar(100)not null,password varchar(100)not null,email varchar(100)not null); +-- +----------+--------------+------+-----+---------+----------------+ +-- | 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 | | +-- +----------+--------------+------+-----+---------+----------------+ +insert into users values(1,'admin',112233,'admin@mxdx.com '); +-- 尝试添加部分模拟数据,参考示例如下: + +-- +----+----------+----------------------------------+--------------------+ +-- | id | username | password | email | +-- +----+----------+----------------------------------+--------------------+ +-- | 1 | admin | 112233 | admin@mxdx.com | +-- +----+----------+----------------------------------+--------------------+ +-- +-- 4、创建订单表orders +create table orders(id varchar(100)not null primary key,order_time datetime not null,total_count int(11)not null,total_amount double(11,2)not null,state int(11)not null,user_id int(11)not null, key(user_id)); +-- +--------------+--------------+------+-----+---------+-------+ +-- | 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 | | +-- +--------------+--------------+------+-----+---------+-------+ +-- +-- 尝试添加部分模拟数据,参考示例如下: +insert into orders values(15294258455691 ,'2018-06-20 00:30:45',2,50.20,0,1); +select * from orders; +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | id | order_time | total_count | total_amount | state | user_id | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | 15294258455691 | 2018-06-20 00:30:45 | 2 | 50.20 | 0 | 1 | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- +-- 5、创建订单明细表order_items +create table order_itrms(id int(11)not null auto_increment,count int(11)not null,amount double(11,2)not null,title varchar(100)not null,author varchar(100)not null,price double(11,2)not null,img_path varchar(100)not null,order_id varchar(100)not null,primary key(id),key(order_id)); +-- +----------+--------------+------+-----+---------+----------------+ +-- | 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 | | +-- +----------+--------------+------+-----+---------+----------------+ +-- +-- 尝试添加部分模拟数据,参考示例如下: +insert into order_itrms values(1,1,27.20,'解忧杂货店','东野圭吾',27.20,'static/img/default.jpg',15294258455691),(2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg',15294258455691); +select * from order_itrms; +-- +----+-------+--------+---------+---------+-------+----------------+----------------+ +-- | 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 | +-- +----+-------+--------+------------+----------+-------+------------+----------------+ +``` + + + + -- Gitee