From e016c04b5149d1b17fdc1c098ed9115c17f2bf7c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9C=E5=BE=90=E7=AB=8B=E5=9F=8E=E2=80=9D?=
<“897185960@qq.com”>
Date: Mon, 20 Feb 2023 00:01:44 +0800
Subject: [PATCH 1/4] =?UTF-8?q?20230215=20MySQL=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
---
...00\346\254\241\344\275\234\344\270\232.md" | 13 +
...14\346\254\241\344\275\234\344\270\232.md" | 276 ++++++++++++++++++
2 files changed, 289 insertions(+)
create mode 100644 "20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
create mode 100644 "20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
diff --git "a/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
new file mode 100644
index 0000000..75f50cf
--- /dev/null
+++ "b/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
@@ -0,0 +1,13 @@
+use test03_bookstore
+create table class3(
+ stu_id int primary key,
+ stu_name varchar(5) not null,
+ stu_gender enum(' 男','女') not null,
+ stu_hobby set('崩','撤','卖','溜'),
+ stu_address varchar(20) not null,
+ stu_mail varchar(20) not null,
+ stu_QQ int not null,
+ stu_contact int not null
+ )default charset=utf8;
+ insert into class3 values(22443103,'坤',1,'崩','木叶村','123465@qq.com',20551,11);
+ select * FROM class3;
\ No newline at end of file
diff --git "a/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md" "b/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
new file mode 100644
index 0000000..3f35ee7
--- /dev/null
+++ "b/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
@@ -0,0 +1,276 @@
+## 第1题
+
+1、创建数据库test01_market
+
+2、创建表格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字段后面
+
+**要求4:**将c_name字段数据类型改为 varchar(70)
+
+**要求5:**将c_contact字段改名为c_phone
+
+**要求6:**增加c_gender字段到c_name后面,数据类型为char(1)
+
+**要求7:**将表名改为customers_info
+
+**要求8:**删除字段c_city
+
+```mysql
+create DATABASE test01_market
+use test01_market
+ create table customers(
+
+ c_num int,
+ c_name VARCHAR(50),
+ c_contact VARCHAR(50),
+ c_city VARCHAR(50),
+ c_birth DATE
+ );
+alter table customers modify column c_contact VARCHAR(50) after c_birth;
+alter table customers modify column c_name varchar(70);
+alter table customers change column c_contact c_phone VARCHAR(50);
+alter table customers add column c_gender char(1) after c_name;
+alter table customers rename customers_info;
+alter table customers_info drop COLUMN c_city;
+```
+
+## 第2题
+
+1、创建数据库test02_library
+
+2、创建表格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) 指定所有字段名称插入第一条记录
+
+2)不指定字段名称插入第二记录
+
+3)同时插入多条记录(剩下的所有记录)
+
+| 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的记录
+
+```mysql
+create database test02_library;
+use test02_library;
+create table books(
+ b_id int(11) UNIQUE,
+ b_name varchar(50),
+ authors varchar(100),
+ price float,
+ pubdate year,
+ note varchar(100) default null,
+ num int(11)
+);
+insert into books values(1,'Tal of AAA','Dickes',23,'1919','novel',11);
+SELECT * FROM books;
+insert into books(b_id,b_name,authors,price,pubdate,note,num) values(2,'EmmaT','Jane lura',35,'1993','joke',22);
+SELECT * FROM books;
+insert into books values(3,'Story of Jane','Jane Tim',40,'2001','novel',0);
+SELECT * FROM books;
+insert into books values(4,'Lovey Day','George Byron',20,'2005','novel3',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);
+SELECT * FROM books;
+update books set price = price+5 where note = 'novel';
+SELECT * FROM books;
+update books set price = 40 where b_name = 'EmmaT'
+SELECT * FROM books;
+delete from books where num = 0
+SELECT * FROM books;
+```
+
+
+
+## 第3题
+
+1、创建数据库test03_bookstore
+
+2、创建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 | |
++----------+--------------+------+-----+---------+----------------+
+```
+
+尝试添加部分模拟数据,参考示例如下:
+
+```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 |
++----+---------------+------------+-------+-------+-------+----------------------------+
+```
+
+3、创建用户表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 |
++----+----------+----------------------------------+--------------------+
+```
+
+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 |
++----------------+---------------------+-------------+--------------+-------+---------+
+```
+
+5、创建订单明细表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 |
++----+-------+--------+------------+----------+-------+------------+----------------+
+```
+
+参考答案:
+
+```mysql
+use test03_bookstore
+create table book(
+ b_id int(11) not NULL auto_increment 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
+);
+desc book;
+insert into book values(1,'解忧杂货店','东野圭吾',27.2,102,98,'解忧杂货店.jpg'),(2,'边城','沈从文 ',23,102,98,'边城.jpg ');
+SELECT * FROM book;
+create table users(
+ b_id int(11) not NULL auto_increment PRIMARY key,
+ username varchar(100) not NULL UNIQUE KEY,
+ password varchar(100) not NULL,
+ email varchar(100) default null
+);
+desc users;
+insert into users(b_id,username,password,email) values(1,'admin',112233,'admin@mxdx.com');
+SELECT * FROM users;
+
+create table orders(
+id varchar(100) not NULL PRIMARY key,
+order_time datetime not null,
+total_count int(11) not NULL,
+otal_amount double(11,2) not null,
+state int(11) not null,
+user_id int(11) not null
+);
+desc orders;
+insert into orders(id,order_time,total_count,otal_amount,state,user_id) values('15294258455691','2018-06-20 00:30:45',2,50.20,0,1);
+SELECT * FROM orders;
+create table order_items(
+id int(11) not null auto_increment PRIMARY key,
+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
+);
+SELECT * FROM order_items;
+insert into order_items VALUES(
+1,1,27.20,'解忧杂货店','东野圭吾',27.20,'default.jpg','15294258455691'),(2,1,23.00,'边城','沈从文',23.00,'default.jpg','15294258455691');
+SELECT * FROM order_items;
+```
+
--
Gitee
From a5605e87ac3cb6b4a94742c0fee708e04f4be088 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9C=E5=BE=90=E7=AB=8B=E5=9F=8E=E2=80=9D?=
<“897185960@qq.com”>
Date: Wed, 22 Feb 2023 00:14:08 +0800
Subject: [PATCH 2/4] =?UTF-8?q?20230221=20MySQLs=E7=AC=AC=E4=B8=89?=
=?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...00\346\254\241\344\275\234\344\270\232.md" | 0
...14\346\254\241\344\275\234\344\270\232.md" | 0
...11\346\254\241\344\275\234\344\270\232.md" | 517 ++++++++++++++++++
.../README.md" | 130 ++---
4 files changed, 582 insertions(+), 65 deletions(-)
rename "20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" => "11 \345\276\220\347\253\213\345\237\216/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" (100%)
rename "20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md" => "11 \345\276\220\347\253\213\345\237\216/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md" (100%)
create mode 100644 "11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
rename README.md => "11 \345\276\220\347\253\213\345\237\216/README.md" (96%)
diff --git "a/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/11 \345\276\220\347\253\213\345\237\216/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
similarity index 100%
rename from "20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
rename to "11 \345\276\220\347\253\213\345\237\216/20230215 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md"
diff --git "a/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md" "b/11 \345\276\220\347\253\213\345\237\216/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
similarity index 100%
rename from "20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
rename to "11 \345\276\220\347\253\213\345\237\216/20230218 MySQL\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.md"
diff --git "a/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" "b/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
new file mode 100644
index 0000000..1548062
--- /dev/null
+++ "b/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
@@ -0,0 +1,517 @@
+## 第1题
+
+## 笔记
+
+```mysql
+
+唯一键约束
+#在建表时,可以指定唯一键约束
+create table 表名称(
+ 字段名 数据类型 unique key,
+ 字段名 数据类型 unique key,
+ 字段名 数据类型
+);
+
+create table 表名称(
+ 字段名 数据类型,
+ 字段名 数据类型,
+ 字段名 数据类型,
+ unique key(字段名),
+ unique key(字段名)
+);
+建表时指定主键约束
+create table 表名称(
+ 字段名 数据类型 primary key,
+ 字段名 数据类型,
+ 字段名 数据类型
+);
+create table 表名称(
+ 字段名 数据类型,
+ 字段名 数据类型,
+ 字段名 数据类型,
+ primary key(字段名)
+);
+建表时
+create table 表名称(
+ 字段名 数据类型 primary key,
+ 字段名 数据类型 unique key not null,
+ 字段名 数据类型 unique key,
+ 字段名 数据类型 not null default 默认值,
+);
+create table 表名称(
+ 字段名 数据类型 default 默认值 ,
+ 字段名 数据类型 not null default 默认值,
+ 字段名 数据类型 not null default 默认值,,
+ primary key(字段名),
+ unique key(字段名)
+);
+
+说明:默认值约束一般不在唯一键和主键列上加
+如何查看一个表的约束(了解)
+SELECT * FROM information_schema.table_constraints WHERE table_name = '表名称';
+#information_schema数据库名(系统库)
+#table_constraints表名称(专门存储各个表的约束)
+#WHERE条件
+#table_name = '表名称'条件是指定表名称
+外键约束
+create table 主表名称(
+ 字段1 数据类型 primary key,
+ 字段2 数据类型
+);
+
+create table 从表名称(
+ 字段1 数据类型 primary key,
+ 字段2 数据类型,
+ foreign key (从表的某个字段) references 主表名(被参考字段)
+);
+#(从表的某个字段)的数据类型必须与主表名(被参考字段)的数据类型一致,逻辑意义也一样
+#(从表的某个字段)的字段名可以与主表名(被参考字段)的字段名一样,也可以不一样
+
+```
+
+1、创建数据库test01_company
+
+2、创建表格offices
+
+| 字段名 | 数据类型 |
+| ---------- | ----------- |
+| officeCode | int |
+| city | varchar(30) |
+| address | varchar(50) |
+| country | varchar(50) |
+| postalCode | varchar(25) |
+
+3、创建表格employees
+
+| 字段名 | 数据类型 |
+| ------------- | ---------------------------- |
+| empNum | int(11) |
+| lastName | varchar(50) |
+| firstName | varchar(50) |
+| mobile | varchar(25) |
+| code | int |
+| jobTitle | varchar(50) |
+| birth | date |
+| Note | varchar(255) |
+| Sex | varchar(5) |
+
+**要求4:**将表employees的mobile字段修改到code字段后面。
+
+**要求5:**将表employees的birth字段改名为birthday;
+
+**要求6:**修改sex字段,数据类型为char(1)。
+
+**要求7:**删除字段note;
+
+**要求8:**增加字段名favoriate_activity,数据类型为varchar(100);
+
+**要求9:**将表employees的名称修改为 employees_info
+
+```mysql
+-- ## 第1题
+--
+-- 1、创建数据库test01_company
+create database test01_company;
+-- 2、创建表格offices
+use test01_company;
+-- | 字段名 | 数据类型 |
+-- | ---------- | ----------- |
+-- | officeCode | int |
+-- | city | varchar(30) |
+-- | address | varchar(50) |
+-- | country | varchar(50) |
+-- | postalCode | varchar(25) |
+create table offices(
+officeCode int,
+city varchar(30),
+address varchar(50),
+country varchar(50),
+postalCode varchar(25)
+);
+-- 3、创建表格employees
+--
+-- | 字段名 | 数据类型 |
+-- | --------- | ------------- |
+-- | | int(11) |
+-- | lastName | varchar(50) |
+-- | firstName | varchar(50) |
+-- | mobile | varchar(25) |
+-- | code | int |
+-- | jobTitle | varchar(50) |
+-- | birth | date |
+-- | Note | varchar(255) |
+-- | Sex | varchar(5) |
+create table employees(
+empNum varchar(50),
+firstName varchar(50),
+mobile varchar(25),
+code int,
+jobTitle varchar(50),
+birth date,
+Note varchar(255),
+Sex varchar(5)
+);
+
+-- **要求4:**将表employees的mobile字段修改到code字段后面。
+alter table employees modify column code int after mobile;
+-- **要求5:**将表的birth字段改名为birthday;
+alter table employees change column birth birthday date;
+-- **要求6:**修改sex字段,数据类型为char(1)。
+alter table employees modify column sex char(1);
+-- **要求7:**删除字段note;
+alter table employees drop column note;
+-- **要求8:**增加字段名favoriate_activity,数据类型为varchar(100);
+alter table employees add favoriate_activity VARCHAR(100);
+-- **要求9:**将表employees的名称修改为 employees_info
+rename table employees to employees_info;
+desc employees_info;
+```
+
+
+
+## 第2题
+
+1、创建数据库test02db
+
+2、创建表格pet
+
+| 字段名 | 字段说明 | 数据类型 |
+| ------- | -------- | ----------- |
+| name | 宠物名称 | varchar(20) |
+| owner | 宠物主人 | varchar(20) |
+| species | 种类 | varchar(20) |
+| sex | 性别 | char(1) |
+| birth | 出生日期 | year |
+| death | 死亡日期 | year |
+
+3、添加记录
+
+| name | owner | species | sex | birth | death |
+| ------ | ------ | ------- | ---- | ----- | ----- |
+| Fluffy | harold | Cat | f | 2003 | 2010 |
+| Claws | gwen | Cat | m | 2004 | |
+| Buffy | | Dog | f | 2009 | |
+| Fang | benny | Dog | m | 2000 | |
+| bowser | diane | Dog | m | 2003 | 2009 |
+| Chirpy | | Bird | f | 2008 | |
+
+4、 添加字段主人的生日owner_birth。
+
+5、 将名称为Claws的猫的主人改为kevin
+
+6、 将没有死的狗的主人改为duck
+
+7、 查询没有主人的宠物的名字;
+
+8、 查询已经死了的cat的姓名,主人,以及去世时间;
+
+9、 删除已经死亡的狗
+
+10、查询所有宠物信息
+
+```sql
+1、创建数据库test02db
+create database test02db;
+2、创建表格pet
+use test02db;
+| 字段名 | 字段说明 | 数据类型 |
+| ------- | -------- | ----------- |
+| name | 宠物名称 | varchar(20) |
+| owner | 宠物主人 | varchar(20) |
+| species | 种类 | varchar(20) |
+| sex | 性别 | char(1) |
+| birth | 出生日期 | year |
+| death | 死亡日期 | year |
+create table pet(
+name varchar(20) ,
+owner varchar(20),
+species varchar(20),
+sex char(1),
+birth year ,
+death year
+);
+3、添加记录
+insert into pet values('Fluffy','harold','Cat','f','2003','2010');
+insert into pet(name,owner,species,sex,birth) values('Claws','gwen','Cat','m','2004');
+insert into pet(name,species,sex,birth) values('Buffy','Dog','f','2009');
+insert into pet(name,owner,species,sex,birth) values('Fang','benny','Dog','m','2000');
+insert into pet values('bowser','diane','dog','m','2003','2009');
+insert into pet(name,species,sex,birth) values('Chirpy','Bird ','f','2008');
+| name | owner | species | sex | birth | death |
+| ------ | ------ | ------- | ---- | ----- | ----- |
+| Fluffy | harold | Cat | f | 2003 | 2010 |
+| Claws | gwen | Cat | m | 2004 | |
+| Buffy | | Dog | f | 2009 | |
+| Fang | benny | Dog | m | 2000 | |
+| bowser | diane | Dog | m | 2003 | 2009 |
+| Chirpy | | Bird | f | 2008 | |
+
+4、 添加字段主人的生日owner_birth。
+alter table pet add owner_birth VARCHAR(100);
+5、 将名称为Claws的猫的主人改为kevin
+update pet set owner ='kevin' where name='Claws';
+6、 将没有死的狗的主人改为duck
+update pet set owner ='duck' where death=null;
+7、 查询没有主人的宠物的名字;
+show pet set where owner=null;
+update pet set owner ='duck' where death=null;
+8、 查询已经死了的cat的姓名,主人,以及去世时间;
+SELECT name,owner,death FROM pet WHERE species = 'Cat'AND death is NOT null;
+9、 删除已经死亡的狗
+delete from pet where death is not null;
+10、查询所有宠物信息
+SELECT * FROM pet;
+```
+
+## 第3题
+
+1、创建数据库:test03_company
+
+2、在此数据库下创建如下3表,数据类型,宽度,是否为空根据实际情况自己定义。
+
+A. 部门表(department):部门编号(depid),部门名称(depname),部门简介(deinfo);其中部门编号为主键。
+
+B. 雇员表(emoloyee):雇员编号(empid),姓名(name),性别(sex),职称(title),出生日期(birthday),所在部门编号(depid);其中
+
+* 雇员编号为主键;
+* 部门编号为外键,外键约束等级为(on update cascade 和on delete set null);
+* 性别默认为男;
+
+C. 工资表(salary):雇员编号(empid),基本工资(basesalary),职务工资(titlesalary),扣除(deduction)。其中雇员编号为主键。
+
+3、给工资表(salary)的雇员编号(empid)增加外键约束,外键约束等级为(on update cascade 和on delete cascade)
+
+4、添加数据如下:
+
+部门表:
+
+| 部门编号 | 部门名称 | 部门简介 |
+| -------- | -------- | ------------ |
+| 111 | 生产部 | Null |
+| 222 | 销售部 | Null |
+| 333 | 人事部 | 人力资源管理 |
+
+ 雇员表:
+
+| 雇员编号 | 姓名 | 性别 | 职称 | 出生日期 | 所在部门编号 |
+| -------- | ---- | ---- | ---------- | ---------- | ------------ |
+| 1001 | 张三 | 男 | 高级工程师 | 1975-1-1 | 111 |
+| 1002 | 李四 | 女 | 助工 | 1985-1-1 | 111 |
+| 1003 | 王五 | 男 | 工程师 | 1978-11-11 | 222 |
+| 1004 | 张六 | 男 | 工程师 | 1999-1-1 | 222 |
+
+ 工资表:
+
+| 雇员编号 | 基本工资 | 职务工资 | 扣除 |
+| -------- | -------- | -------- | ---- |
+| 1001 | 2200 | 1100 | 200 |
+| 1002 | 1200 | 200 | NULL |
+| 1003 | 2900 | 700 | 200 |
+| 1004 | 1950 | 700 | 150 |
+
+```mysql
+-- -- ## 第3题
+-- -- 1、创建数据库:test03_company
+CREATE DATABASE test03_compang CHARSET utf8;
+USE test03_compang;
+-- -- 2、在此数据库下创建如下3表,数据类型,宽度,是否为空根据实际情况自己定义。
+ DROP TABLE
+-- SELECT * FROM department;
+-- -- A. 部门表(department):部门编号(depid),部门名称(depname),部门简介(deinfo);其中部门编号为主键。
+CREATE TABLE department(
+ depid INT PRIMARY KEY,
+ dapname VARCHAR(50),
+ deinfo VARCHAR(50)
+);
+-- -- B. 雇员表(emoloyee):雇员编号(empid),姓名(name),性别(sex),职称(title),出生日期(birthday),所在部门编号(depid);其中
+DROP TABLE emoloyee
+DESC emoloyee
+-- SELECT * FROM emoloyee
+-- -- * 雇员编号为主键;
+-- -- * 部门编号为外键,外键约束等级为(on update cascade 和on delete set null);
+-- -- * 性别默认为男;
+-- -- foreign key (从表的某个字段) references 主表名(被参考字段) DEFAULT(col_name):默认
+ CREATE TABLE emoloyee(
+ empid INT PRIMARY KEY,
+ NAME VARCHAR(50),
+ sex enum('男','女')NOT NULL DEFAULT '男',
+ title VARCHAR(50),
+ birthday DATE,
+ depid INT,
+ FOREIGN KEY (depid) REFERENCES department(depid) on update cascade on delete set null
+ );
+ C. 工资表(salary):雇员编号(empid),基本工资(basesalary),职务工资(titlesalary),扣除(deduction)。其中雇员编号为主键。
+ DECIMAL:定点数
+ DROP TABLE salary;
+ CREATE TABLE salary(
+empid INT PRIMARY KEY,
+basesalary DECIMAL(10.2),
+titleasalary DECIMAL(10,2),
+deduction DECIMAL(10,2),
+ FOREIGN KEY (empid) REFERENCES emoloyee(empid) on update cascade on delete cascade
+-- );
+ 3、给工资表(salary)的雇员编号(empid)增加外键约束,外键约束等级为(on update cascade 和on delete cascade)
+-- --
+-- -- 4、添加数据如下:
+-- --
+-- -- 部门表:
+-- --
+-- -- | 部门编号 | 部门名称 | 部门简介 |
+-- -- | -------- | -------- | ------------ |
+-- -- | 111 | 生产部 | Null |
+-- -- | 222 | 销售部 | Null |
+-- -- | 333 | 人事部 | 人力资源管理 |
+INSERT INTO department VALUES(111,'生产部',null),(222,'销售部',null),(333,'人事部','人力管理资源');
+-- -- 雇员表:
+-- --
+-- -- | 雇员编号 | 姓名 | 性别 | 职称 | 出生日期 | 所在部门编号 |
+-- -- | -------- | ---- | ---- | ---------- | ---------- | ------------ |
+-- -- | 1001 | 张三 | 男 | 高级工程师 | 1975-1-1 | 111 |
+-- -- | 1002 | 李四 | 女 | 助工 | 1985-1-1 | 111 |
+-- -- | 1003 | 王五 | 男 | 工程师 | 1978-11-11 | 222 |
+-- -- | 1004 | 张六 | 男 | 工程师 | 1999-1-1 | 222 |
+INSERT INTo emoloyee VALUES(1001,'张三','男','高级工程师','1975-1-1',111),(1002,'李四','女','助工','1985-1-1',111),(1003,'王五','男','工程师','1978-11-11',222),(1004,'张六','男','工程师','1999-1-1',222);
+-- -- 工资表:
+-- --
+-- -- | 雇员编号 | 基本工资 | 职务工资 | 扣除 |
+-- -- | -------- | -------- | -------- | ---- |
+-- -- | 1001 | 2200 | 1100 | 200 |
+-- -- | 1002 | 1200 | 200 | NULL |
+-- -- | 1003 | 2900 | 700 | 200 |
+-- -- | 1004 | 1950 | 700 | 150 |
+INSERT INTO salary VALUES(1001,2200,1100,200),(1002,1200,200,NULL),(1003,2900,700,200),(1004,1950,700,150);
+SELECT * FROM salary
+```
+
+
+
+## 第4题
+
+1、创建一个数据库:test04_school
+
+2、创建如下表格
+
+表1 Department表的定义
+
+| **字段名** | **字段描述** | **数据类型** | **主键** | **外键** | **非空** | **唯一** |
+| ---------- | ------------ | ------------ | -------- | -------- | -------- | -------- |
+| DepNo | 部门号 | int(10) | 是 | 否 | 是 | 是 |
+| DepName | 部门名称 | varchar(20) | 否 | 否 | 是 | 否 |
+| DepNote | 部门备注 | Varchar(50) | 否 | 否 | 否 | 否 |
+
+表2 Teacher表的定义
+
+| **字段名** | **字段描述** | **数据类型** | **主键** | **外键** | **非空** | **唯一** |
+| ---------- | ------------ | ------------ | -------- | -------- | -------- | -------- |
+| Number | 教工号 | int | 是 | 否 | 是 | 是 |
+| Name | 姓名 | varchar(30) | 否 | 否 | 是 | 否 |
+| Sex | 性别 | varchar(4) | 否 | 否 | 否 | 否 |
+| Birth | 出生日期 | date | 否 | 否 | 否 | 否 |
+| DepNo | 部门号 | int | 否 | 是 | 否 | 否 |
+| Salary | 工资 | float | 否 | 否 | 否 | 否 |
+| Address | 家庭住址 | varchar(100) | 否 | 否 | 否 | 否 |
+
+3、添加记录
+
+| **DepNo** | **DepName** | **DepNote** |
+| --------- | ----------- | ------------------ |
+| 601 | 软件技术系 | 软件技术等专业 |
+| 602 | 网络技术系 | 多媒体技术等专业 |
+| 603 | 艺术设计系 | 广告艺术设计等专业 |
+| 604 | 管理工程系 | 连锁经营管理等专业 |
+
+| **Number** | **Name** | **Sex** | **Birth** | **DepNo** | **Salary** | **Address** |
+| ---------- | -------- | ------- | ---------- | --------- | ---------- | ------------ |
+| 2001 | Tom | 女 | 1970-01-10 | 602 | 4500 | 四川省绵阳市 |
+| 2002 | Lucy | 男 | 1983-12-18 | 601 | 2500 | 北京市昌平区 |
+| 2003 | Mike | 男 | 1990-06-01 | 604 | 1500 | 重庆市渝中区 |
+| 2004 | James | 女 | 1980-10-20 | 602 | 3500 | 四川省成都市 |
+| 2005 | Jack | 男 | 1975-05-30 | 603 | 1200 | 重庆市南岸区 |
+
+4、用SELECT语句查询Teacher表的所有记录。
+
+```mysql
+## 第4题
+
+-- 1、创建一个数据库:test04_school
+CREATE DATABASE test04_school CHARSET utf8;
+USE test04_school;
+-- 2、创建如下表格
+
+-- 表1 Department表的定义
+--
+-- | **字段名** | **字段描述** | **数据类型** | **主键** | **外键** | **非空** | **唯一** |
+-- | ---------- | ------------ | ------------ | -------- | -------- | -------- | -------- |
+-- | DepNo | 部门号 | int(10) | 是 | 否 | 是 | 是 |
+-- | DepName | 部门名称 | varchar(20) | 否 | 否 | 是 | 否 |
+-- | DepNote | 部门备注 | Varchar(50) | 否 | 否 | 否 | 否 |
+CREATE TABLE Department(
+ DepNo INT(10) PRIMARY KEY,
+ DepName VARCHAR(20) not null,
+ DepNote VARCHAR(20)
+);
+-- 表2 Teacher表的定义
+--
+-- | **字段名** | **字段描述** | **数据类型** | **主键** | **外键** | **非空** | **唯一** |
+-- | ---------- | ------------ | ------------ | -------- | -------- | -------- | -------- |
+-- | Number | 教工号 | int | 是 | 否 | 是 | 是 |
+-- | Name | 姓名 | varchar(30) | 否 | 否 | 是 | 否 |
+-- | Sex | 性别 | varchar(4) | 否 | 否 | 否 | 否 |
+-- | Birth | 出生日期 | date | 否 | 否 | 否 | 否 |
+-- | DepNo | 部门号 | int | 否 | 是 | 否 | 否 |
+-- | Salary | 工资 | float | 否 | 否 | 否 | 否 |
+-- | Address | 家庭住址 | varchar(100) | 否 | 否 | 否 | 否 |
+CREATE TABLE Teacher(
+ Number INT PRIMARY KEY,
+ Name VARCHAR(30) not null,
+ Sex VARCHAR(4),
+ Birth date,
+ DepNo INT(10),
+ Salary float,
+ Address VARCHAR(100),
+ FOREIGN KEY (DepNo) REFERENCES Department(DepNo)
+);
+-- 3、添加记录
+--
+-- | **DepNo** | **DepName** | **DepNote** |
+-- | --------- | ----------- | ------------------ |
+-- | 601 | 软件技术系 | 软件技术等专业 |
+-- | 602 | 网络技术系 | 多媒体技术等专业 |
+-- | 603 | 艺术设计系 | 广告艺术设计等专业 |
+-- | 604 | 管理工程系 | 连锁经营管理等专业 |
+-- INSERT INTO Department VALUES()
+insert into Department values
+ (601,'软件技术系','软件技术等专业'),
+ (602,'网络技术系','多媒体等专业'),
+ (603,'艺术设计系','广告艺术技术等专业'),
+ (604,'管理工程系','连锁经营管理等专业')
+ ;
+-- | **Number** | **Name** | **Sex** | **Birth** | **DepNo** | **Salary** | **Address** |
+-- | ---------- | -------- | ------- | ---------- | --------- | ---------- | ------------ |
+-- | 2001 | Tom | 女 | 1970-01-10 | 602 | 4500 | 四川省绵阳市 |
+-- | 2002 | Lucy | 男 | 1983-12-18 | 601 | 2500 | 北京市昌平区 |
+-- | 2003 | Mike | 男 | 1990-06-01 | 604 | 1500 | 重庆市渝中区 |
+-- | 2004 | James | 女 | 1980-10-20 | 602 | 3500 | 四川省成都市 |
+-- | 2005 | Jack | 男 | 1975-05-30 | 603 | 1200 | 重庆市南岸区 |
+INSERT INTO Teacher VALUES
+(2001,'Tom','女','1970-01-10',602,4500,'四川省绵阳市'),
+(2002,'Lucy','男','1983-12-18',601,2500,'北京市昌平区'),
+(2003,'Mike','男','1990-06-01',604,1500,'重庆市渝中区'),
+(2004,'James','女','1980-10-20',602,3500,'四川省成都市'),
+(2005,'Jack','男','1975-05-30',603,1200,'重庆市南岸区');
+-- 4、用SELECT语句查询Teacher表的所有记录。
+DESC Teacher
+SELECT * FROM Teacher;
+-- ```mysql
+--
+-- ```
+```
+
+
+
+
+
+```
+
+```
+
diff --git a/README.md "b/11 \345\276\220\347\253\213\345\237\216/README.md"
similarity index 96%
rename from README.md
rename to "11 \345\276\220\347\253\213\345\237\216/README.md"
index 0c9d510..40b34cf 100644
--- a/README.md
+++ "b/11 \345\276\220\347\253\213\345\237\216/README.md"
@@ -1,65 +1,65 @@
-# MySQL数据库基础_笔记
-
-这就是一个普通的,22级软件03班MySQL课堂笔记
-
-# 必看
-1. 自己的笔记都放到自己的姓名的文件夹里面,
-2. 笔记要求用markdown格式书写
-3. 文件名格式要求:日期+空格+笔记的标题 如 `20230216 MySQL的安装和登录.md`
-
-
-- 时间,你不开拓它,它就悄悄长出青苔,爬上你生命的庭院,把你一生掩埋。加油!
-
-# 简易的命令行入门教程:
-
-1. 先在自己电脑上配置好git客户端的帐号:
-
-- ```
- git config --global user.name "你的姓名"
- ```
-
-- ```
- git config --global user.email "你的邮箱地址"
- ```
-
-2. 自己电脑上创建一个 git 仓库的文件夹:
-
-
- 1. 在这个文件夹里 右键,选择 `Git Base Here` 运行git客户端 输入以下命令:
-
- git clone https://gitee.com/class-22-class-03/mysql-base.git
-
- 2. 会得到一个子名字为 `mysql-base` 子文件夹
-
- 3. **关闭**git客户端的窗口
-
- 4. 进入`mysql-base`文件夹
-
- 5. 创建一个 `自己座号+空格+姓名` 的文件夹,例如 `25 蔡坤坤`
-
- 6. 打开刚创建的`25 蔡坤坤`,在里面创建自己的笔记,比如 `20230216 MySQL的安装和登录.md`
-
- 7. 在这个文件夹里再次右键,选择 `Git Base Here` 运行git客户端 ,依次输入以下命令:
-
- 1、添加
-
- ```
- git add .
- ```
-
- 2、备注
-
- ```
- git commit -m "本次笔记的备注内容"
- ```
-
- 3、提交
-
- ```
- git push
-3. 提交后,登录gitee.com 查看自己的仓库里有没有这个刚提交的笔记,有的点,点一下` Pull Request`
-
- 1. `Pull Request` 是指将自己的仓库里这个笔记,合并到班级的仓库,在`Pull Request` 页面里填写一下必要信息后就可以点提交
-
- 2. 最后在班级的`Pull Requests` 确认一下,有没有看到自己刚提交的,如果有,就等待管理员通过即可。
-4. 完毕
+# MySQL数据库基础_笔记
+
+这就是一个普通的,22级软件03班MySQL课堂笔记
+
+# 必看
+1. 自己的笔记都放到自己的姓名的文件夹里面,
+2. 笔记要求用markdown格式书写
+3. 文件名格式要求:日期+空格+笔记的标题 如 `20230216 MySQL的安装和登录.md`
+
+
+- 时间,你不开拓它,它就悄悄长出青苔,爬上你生命的庭院,把你一生掩埋。加油!
+
+# 简易的命令行入门教程:
+
+1. 先在自己电脑上配置好git客户端的帐号:
+
+- ```
+ git config --global user.name "你的姓名"
+ ```
+
+- ```
+ git config --global user.email "你的邮箱地址"
+ ```
+
+2. 自己电脑上创建一个 git 仓库的文件夹:
+
+
+ 1. 在这个文件夹里 右键,选择 `Git Base Here` 运行git客户端 输入以下命令:
+
+ git clone https://gitee.com/class-22-class-03/mysql-base.git
+
+ 2. 会得到一个子名字为 `mysql-base` 子文件夹
+
+ 3. **关闭**git客户端的窗口
+
+ 4. 进入`mysql-base`文件夹
+
+ 5. 创建一个 `自己座号+空格+姓名` 的文件夹,例如 `25 蔡坤坤`
+
+ 6. 打开刚创建的`25 蔡坤坤`,在里面创建自己的笔记,比如 `20230216 MySQL的安装和登录.md`
+
+ 7. 在这个文件夹里再次右键,选择 `Git Base Here` 运行git客户端 ,依次输入以下命令:
+
+ 1、添加
+
+ ```
+ git add .
+ ```
+
+ 2、备注
+
+ ```
+ git commit -m "本次笔记的备注内容"
+ ```
+
+ 3、提交
+
+ ```
+ git push
+3. 提交后,登录gitee.com 查看自己的仓库里有没有这个刚提交的笔记,有的点,点一下` Pull Request`
+
+ 1. `Pull Request` 是指将自己的仓库里这个笔记,合并到班级的仓库,在`Pull Request` 页面里填写一下必要信息后就可以点提交
+
+ 2. 最后在班级的`Pull Requests` 确认一下,有没有看到自己刚提交的,如果有,就等待管理员通过即可。
+4. 完毕
--
Gitee
From a8671444ed4741f6c9bdfe647eb64b85f16cf13c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9C=E5=BE=90=E7=AB=8B=E5=9F=8E=E2=80=9D?=
<“897185960@qq.com”>
Date: Wed, 22 Feb 2023 00:19:07 +0800
Subject: [PATCH 3/4] =?UTF-8?q?20230221MySQL=E7=AC=AC=E4=B8=89=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
---
"11 \345\276\220\347\253\213\345\237\216/README.md" => README.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename "11 \345\276\220\347\253\213\345\237\216/README.md" => README.md (100%)
diff --git "a/11 \345\276\220\347\253\213\345\237\216/README.md" b/README.md
similarity index 100%
rename from "11 \345\276\220\347\253\213\345\237\216/README.md"
rename to README.md
--
Gitee
From c77519b4d8fa6e54cfdc26fcebf46b6b4140be31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9C=E5=BE=90=E7=AB=8B=E5=9F=8E=E2=80=9D?=
<“897185960@qq.com”>
Date: Wed, 22 Feb 2023 00:22:16 +0800
Subject: [PATCH 4/4] =?UTF-8?q?20230221MySQL=E7=AC=AC=E4=B8=89=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
---
...11\346\254\241\344\275\234\344\270\232.md" | 71 +------------------
1 file changed, 1 insertion(+), 70 deletions(-)
diff --git "a/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" "b/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
index 1548062..9a9fd22 100644
--- "a/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
+++ "b/11 \345\276\220\347\253\213\345\237\216/20230221 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md"
@@ -1,75 +1,6 @@
## 第1题
-## 笔记
-
-```mysql
-
-唯一键约束
-#在建表时,可以指定唯一键约束
-create table 表名称(
- 字段名 数据类型 unique key,
- 字段名 数据类型 unique key,
- 字段名 数据类型
-);
-
-create table 表名称(
- 字段名 数据类型,
- 字段名 数据类型,
- 字段名 数据类型,
- unique key(字段名),
- unique key(字段名)
-);
-建表时指定主键约束
-create table 表名称(
- 字段名 数据类型 primary key,
- 字段名 数据类型,
- 字段名 数据类型
-);
-create table 表名称(
- 字段名 数据类型,
- 字段名 数据类型,
- 字段名 数据类型,
- primary key(字段名)
-);
-建表时
-create table 表名称(
- 字段名 数据类型 primary key,
- 字段名 数据类型 unique key not null,
- 字段名 数据类型 unique key,
- 字段名 数据类型 not null default 默认值,
-);
-create table 表名称(
- 字段名 数据类型 default 默认值 ,
- 字段名 数据类型 not null default 默认值,
- 字段名 数据类型 not null default 默认值,,
- primary key(字段名),
- unique key(字段名)
-);
-
-说明:默认值约束一般不在唯一键和主键列上加
-如何查看一个表的约束(了解)
-SELECT * FROM information_schema.table_constraints WHERE table_name = '表名称';
-#information_schema数据库名(系统库)
-#table_constraints表名称(专门存储各个表的约束)
-#WHERE条件
-#table_name = '表名称'条件是指定表名称
-外键约束
-create table 主表名称(
- 字段1 数据类型 primary key,
- 字段2 数据类型
-);
-
-create table 从表名称(
- 字段1 数据类型 primary key,
- 字段2 数据类型,
- foreign key (从表的某个字段) references 主表名(被参考字段)
-);
-#(从表的某个字段)的数据类型必须与主表名(被参考字段)的数据类型一致,逻辑意义也一样
-#(从表的某个字段)的字段名可以与主表名(被参考字段)的字段名一样,也可以不一样
-
-```
-
-1、创建数据库test01_company
+## 1、创建数据库test01_company
2、创建表格offices
--
Gitee