diff --git "a/01 \351\231\210\346\266\233/2023.2.19 .md" "b/01 \351\231\210\346\266\233/2023.2.19 .md" deleted file mode 100644 index b9ad384ee9042491648dd0a581aa616cb025df18..0000000000000000000000000000000000000000 --- "a/01 \351\231\210\346\266\233/2023.2.19 .md" +++ /dev/null @@ -1,171 +0,0 @@ -# 笔记 - -#### DDL - -查询所有数据库 -show databases; -查询当前数据库 -select database(); -创建数据库 -create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则]; -删除数据库 -drop database [if not exists] 数据库名; -切换数据库 -use 数据库名; - -查询所有表 -show tables; -查询指定表 -desc 表名; -查询建表语句 -show create table 表名; -创建表结构 -create table 表名( - 字段1 字段1类型, - 字段2 字段2类型, - 字段3 字段3类型 -); -添加字段 -alter table 表名 add 字段名 类型 (长度) [comment 注释] [约束]; -修改数据类型 -alter table 表名 modify 字段名 新数据类型 (长度) -修改字段名和字段类型 -alter table 表名 change 旧字段名 新字段名 类型 (长度) [comment 注释] [约束]; -删除字段 -alter table 表名 drop 字段名; -修改表名 -alter table 表名 rename to 新表名; -删除表 -drop table [if exists] 表名; -字段排列位置 -ALTER TABLE 表名 MODIFY 字段名1 [数据类型 first] or [after 字段名2] -** first是把字段1移到第一段 after是把表一放到表二之后 ** - -#### DML - -给指定字段添加数据 -insert into 表名 (字段名1, 字段名2, ...) valuse (值1, 值2, ...); -给全部字段添加数据 -insert 表名 valuse (值1, 值2, ...); -** 批量添加数据加逗号 ** -修改数据 -update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where 条件 ] ; -删除数据 -delete from 表名 [ where 条件 ] ; - -# 作业 - -#### 第一天 - -```sql -create database class4; -use class4; -create table student ( - 学号 char(10) , - 姓名 varchar(4) , - 性别 char(1) , - 爱好 text, - 地址 varchar(20) , - 联系方式 char(11) , - 邮箱 varchar(20), - QQ号 varchar(20) -) ; -insert into student values ('2244310401','陈涛','男','学习','莆田','18505055072','5798166@qq.com','251199'); -``` - - - -#### 第一题 - -```sql -create database if not EXISTS test01_market default charset utf8; -use test01_market; -create table customers( - c_num int(11), - c_name varchar(50), - c_contact varchar(50), - c_city varchar(50), - c_birth date -); -alter table customers MODIFY c_contact varchar(50) after c_birth; -alter table customers modify c_name varchar(70); -alter table customers change c_contact c_phone; -alter table customers add c_gender char(1) after c_name; -alter table customers rename to customers_info; -alter table customers_info drop c_city; -``` - - - -#### 第二题 - -```sql -create database if not exists test02_library default charset utf8; -use test02_library; -create table books( - b_id int(11) comment'书编号', - b_name varchar(50) comment'书名', - authors varchar(100) comment'作者', - price float comment'价格', - pubdate year comment'出版日期', - note varchar(100)comment'说明', - num int(11) comment'库存' -); -insert into books (b_id,b_name,authors,price,pubdate,note,num) values (1,'Tal of AAA','Dickes',23,1995,'novel',11); -insert into books values (2,'EmmaT','Jane lura',35,1993,'joke',22); -insert into books values (3,'Story of Jane','Jane Tim',40,2001,'nove',10),(4,'Lovey DayGeorge','Byron',20,2005,'novel',30),(5,'Old land','Honore Blade',30,2010,'law',0),(5,'Old land','Honore Blade',30,2010,'law',0),(7,'Rose Hood','Richard haggard',28,2008,'cartoon',28); -update books set price=price+5 where note='novel'; -update books set price=40 where b_name='EmmaT'; -delete from books where num=0; -``` - - - -#### 第三题 - -```sql -create database if not exists test03_booktore default charset utf8; -use test03_booktore; -create table book( - id int auto_increment 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 -); -insert into book values (1,'解忧杂货店','东野圭吾',27.20,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23.00,102,98,'upload/books/边城.jpg'); -create table users( - id int auto_increment not null primary key, - username varchar(100) not null unique key, - password varchar(100) not null, - email varchar(100) not null -); -insert into users values (1,'admin','112233','admin@mxdx.com'); -create table orders( - id varchar(100) primary key not null, - order_time datetime not null, - total_count int not null, - total_amount double(11,2) not null, - state int not null, - user_id int not null -); -alter table orders add index(user_id); -insert into orders values ('15294258455691','2018-06-20 00:30:45',2,50.20,0,1); -create table order_items ( - id int auto_increment primary key not null, - count int 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 -); -alter table order_items add index(order_id); -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'); - - -``` - diff --git "a/03 \346\236\227\345\277\227\351\233\204/20230218 Mysql.md" "b/03 \346\236\227\345\277\227\351\233\204/20230218 Mysql.md" deleted file mode 100644 index 9fe9f0813b9b350a1872d7215829d7d92702eb5c..0000000000000000000000000000000000000000 --- "a/03 \346\236\227\345\277\227\351\233\204/20230218 Mysql.md" +++ /dev/null @@ -1,338 +0,0 @@ -# 笔记 - -###### 数据库是什么 - -DBMS 的重要性无法多人共享数据无法提供操作大量数据所需的格式实现读取自动化需要编程技术能力无法应对突发事故DBMS 的种类层次性数据库最古老的数据库之一,因为突出的缺点,所以很少使用了 - -数据库分类 - -* 早期:层次模型、网状模型、关系模型, - -* 随着时间的推移和市场竞争,最终,基于关系模型的关系型数据库获得了绝对市场份额。 - -* 目前市场上主要分: - - * 关系型数据库、非关系型数据库两大类 - -###### 关系型数据库 - -采用行列二维表结构来管理数据库,类似Excel的结构,使用专用的SQL语言对数据进行控制。关系数据库管理系统的常见种类Oracle ==> 甲骨文SQL Servce ==> 微软DB2 ==> IBMPostgreSQL ==> 开源MySQL ==> 开源 - -**非关系型数据库**,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,通过减少很少用的功能,来提高性能。 - -###### 面向对象的数据库 - -XML数据库键值存储系统DB2RedisMongoDBSQL 语句及其种类DDL(数据定义语言)create ==> 创建数据库或者表等对象drop ==> 删除数据库或者表等对象alter ==> 修改数据库或者表等对象的结构 - -DML(数据操作语言)select ==> 查询表中数据insert ==> 向表中插入数据update ==> 更新表中数据delete ==> 删除表中数据DCL(数据控制语言)commit ==> 决定对数据库中的数据进行变更rollback ==> 取消对数据库中的数据进行变更grant ==> 赋予用户操作权限revoke ==> 取消用户的操作权限SQL 的基本书写规则SQL 语句要以;结尾关键字不区分大小写,但是表中数据区分大小写关键字大写表名的首字母大写列明等小写常数的书写方式是固定的遇到字符串、日期等类型需要用到''单词间需要使用空格分割命名规则数据库和表的名称可以使用英文、数据以及下划线名称必须以英文作为开头名称不能重复 - -* 数据库有了,要怎么管理呢? - - * DBMS:数据库管理系统 ( DataBase Management System )是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。 - - * MySQL、Oracle、SqlServer都是数据库管理系统(DBMS,Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。 - -* SQL是什么? - - * SQL是结构化查询语言(Structure Query Language),专门用来操作/访问数据库的通用语言。 - -###### 数据类型 - -integer数字型,但是不能存放小数 - -char定长字符串类型,指定最大长度,不足使用空格填充varchar可变长度字符串类型,指定最大长度,但是不足不填充 - -data存储日期,年/月/日 以上内容是对通用数据库以及sql语句相关的知识点介绍,本文不做过多的赘述,本文主要针对关系型数据库:MySQL 来进行各方面的知识点总结。 - -###### 表的关系 - -MySQL是关系型数据库管理系统,而在关系数据库管理系统中,很多表之间是有关系的,表之间的关系分为一对一关系、一对多关系和多对多关系。 - -1. **一对一** - -该关系中第一个表中的一个行只可以与第二个表中的一个行相关,且第二个表中的一个行也只可以与第一个表中的一个行相关。 - -2. **一对多** - -第一个表中的一个行可以与第二个表中的一个或多个行相关,但第二个表中的一个行只可以与第一个表中的一个行相关 - -3. **多对多** - -该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。**通常两个表的多对多关系会借助第三张表,转换为两个一对多的关系。 - -使用cmd命令连接 - -(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格 - -(2)密码建议在下一行输入 - -3)如果是连本机:-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略 - - - -# 作业 - -```sql -*| 字段名 | 数据类型 | -*| --- | --- | -*| c_num | int(11) | -*| c_name | varchar(50) | -*| c_contact | varchar(50) | -*| c_city | varchar(50) | -*| c_birth | date | - -*1、创建数据库test01_market - -c_citycreate database test01_market charset utf8; -use test01_market; -create table customers( -c_num int(11), -c_name varchar(50), -c_contact varchar(50), -c_city varchar(50), -c_birth date -); - -2、创建表格customers - -**要求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 varchar(50) after c_name ; - -**要求7:**将表名改为customers_info - -alter table customers rename to customers_info; - -**要求8:**删除字段 - -alter table customers_info drop column c_city; - -*1、创建数据库test02_library - -CREATE DATABASE test02_library; -alter database test02_library charset utf8; -show CREATE DATABASE test02_library; -use test02_library; - -*2、创建表格books - -show CREATE TABLE books; -alter table books charset=utf8; - -| *-- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | -| --- | ------- | ---- | ------------ | ---- | --- | -| -- | 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(1)ZEROFILL not null comment 书编号 , -b_name varchar(50) not null comment 书名, -authors1 varchar(100) not null comment 作者, -price FLOAT not NULL comment 价格, -pubdate year not NULL comment 出版日期, -note varchar(100) comment 说明, -num int(11) not NULL comment 库存 -); -ALTER TABLE books MODIFY b_id int(1)not null auto_increment; - --- 3、向books表中插入记录 - --- 1) 指定所有字段名称插入第一条记录 - -INSERT into books(b_id,b_name,authors1,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,1995,'novel','11'); - --- 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'); -INSERT into books VALUES(4,'Lovey Day','George Byron',20,2005,'novel','30'); -INSERT into books VALUES(5,'Old land','Honore Blade',30,2010,'law','0'); -INSERT into books VALUES(6,'The Battle','Upton Sara',30,1999,'medicine','40'); -INSERT into books VALUES(7,'Rose Hood','Richard haggard',28,2008,'cartoon','28'); -SELECT - -*from books; --- 4、将小说类型(novel)的书的价格都增加5。 - -UPDATE books set price=price+5 WHERE note='novel'; - -*5、将名称为EmmaT的书的价格改为40。 - -UPDATE books set price=40 WHERE b_name='emmat'; - -*6、删除库存为0的记录 - -DELETE from books WHERE num=0; - --- 1、创建数据库test03_bookstore - -CREATE database test03_bookstore CHARACTER set utf8; -use test03_bookstore; -drop DATABASE 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 | | --- +----------+--------------+------+-----+---------+----------------+ -CREATE TABLE book( -id int auto_increment not null PRIMARY key, -title varchar(100) not null , -author varchar(100) not null , -price DOUBLE(11,2) not null , -sales int not null , -stock int not null , -img_path varchar(100) not 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 | --- +----+---------------+------------+-------+-------+-------+----------------------------+ --- ``` -insert into book VALUES(1,'解忧杂货店 ','东野圭吾',27.20,102,98,' upload/books/解忧杂货店.jpg'); -insert into book VALUES(2,' 边城','沈从文',23.00,102,98,'upload/books/边城.jpg'); -SELECT *from book; --- 3、创建用户表users,并插入数据 -CREATE table users( -id int auto_increment not null PRIMARY key, -username varchar(100) not null UNIQUE KEY, -`password` VARCHAR(100) not null, -email varchar(100) -); --- ```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 -insert into users VALUES(1,'admin','112233','admin@mxdx.com') -SELECT *from users; -show CREATE TABLE users; - --- +----+----------+----------------------------------+--------------------+ --- | 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 | | --- +--------------+--------------+------+-----+---------+-------+ --- ``` -CREATE table orders( -id varchar(100) not null PRIMARY key, -order_time DATETIME not null, -total_count int not null, -total_amount DOUBLE(11,2) not null, -state int not null, -user_id int -); -desc orders; -alter table orders add index(user_id); --- 尝试添加部分模拟数据,参考示例如下: -insert into orders VALUES('15294258455691','2018-06-20 00:30:45',2,52.20,0,1); --- ```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 | | --- +----------+--------------+------+-----+---------+----------------+ --- ``` -CREATE TABLE order_items( -id int not null auto_increment PRIMARY KEY, -count int 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 -); -alter table order_items add index(order_id); --- 尝试添加部分模拟数据,参考示例如下: --- --- ```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 | --- +----+-------+--------+------------+----------+-------+------------+----------------+ --- -insert into order_items VALUES(1,1,27.20,'解忧杂货店','东野圭吾',27.20, 'static/img/default.jpg','15294258455691'); -insert into order_items VALUES(2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg','15294258455691'); - -``` - - diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230214 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/08 \351\251\254\345\255\220\350\266\212/20230214 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" deleted file mode 100644 index b24e6db524420e3219826ca48b5ba70de876896d..0000000000000000000000000000000000000000 --- "a/08 \351\251\254\345\255\220\350\266\212/20230214 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 作业 - -```sql -CREATE TABLE student( -`学号` VARCHAR(20), -`姓名` VARCHAR(20), -`性别` VARCHAR(20), -`爱好` VARCHAR(20), -`住址` VARCHAR(20), -`联系方式` VARCHAR(20), -`邮箱` VARCHAR(20), -`QQ号` VARCHAR(20) -); - -INSERT INTO student VALUES('2244310408','马子越','男','听音乐,看小说,玩游戏','福建厦门','15860771339','2816279374@qq.com','2816279374'); -``` - diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230218 DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" "b/08 \351\251\254\345\255\220\350\266\212/20230218 DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" deleted file mode 100644 index e5fbfc31ea577fcafa258bf886064fb3776e6b38..0000000000000000000000000000000000000000 --- "a/08 \351\251\254\345\255\220\350\266\212/20230218 DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" +++ /dev/null @@ -1,381 +0,0 @@ -# 1.笔记 - -## DDL语句 - -## (1)和数据库相关 - -### 创建数据库 - -```sql -create database 数据库名 ; -create database 数据库名 charset 字符集; -``` - -### 查看所有的数据库 - -```sql -show databases; #有一个s,代表多个数据库 -``` - -### 查看某个数据库的详细定义语句 - -```sql -show create database 数据库名; -``` - -```sql -show create database 数据库名\G -``` - -### 修改数据库编码 - -```sql -#修改数据库字符集和校对规则 -ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称 COLLATE 字符集对应校对规则; -``` - -```sql -ALTER DATABASE mxdx_chapter3_two CHARACTER SET utf8 COLLATE utf8_general_ci; -``` - -==**注意,**==修改数据库编码只会影响之后创建的表的默认编码,之前创建的表不会受影响。 - -### 删除数据库 - -```sql -drop database 数据库名; -``` - -### 使用数据库 - -```sql -use 数据库名; -``` - -## (2)和数据表相关 - -### 查看某个数据库的所有表格 - -```sql -use 数据库名; -show tables; -``` - -```sql -show tables from 数据库名; -``` - -### 创建表格 - -```sql -create table 数据表名称( - 字段名 数据类型, - 字段名 数据类型 - ... -); -``` - -### 查看表的详细定义信息,即查看建表语句 - -```sql -show create table 表名称; -show create table 表名称\G -``` - -### 修改数据表编码 - -```sql -alter table 表名称 convert to character set utf8; -``` - -### 查看表结构 - -```sql -desc 表名称; -``` - -### 删除表格,包括表结构和里面的数据 - -```sql -drop table 表名称; -``` - -### 修改表结构:删除字段 - -```sql -alter table 表名称 drop 【column】 字段名称; -``` - -### 修改表结构:增加字段 - -```sql -alter table 表名称 add 【column】 字段名称 数据类型; -alter table 表名称 add 【column】 字段名称 数据类型 first; -alter table 表名称 add 【column】 字段名称 数据类型 after 另一个字段; -``` - -### 修改表结构:修改字段的数据类型 - -```sql -alter table 表名称 modify 【column】 字段名称 新的数据类型; -``` - -### 修改表结构:修改字段的名称 - -```sql -alter table 表名称 change 【column】 旧字段名称 新的字段名称 新的数据类型; -``` - -### 修改表结构:修改字段位置 - -```sql -alter table 表名称 modify 【column】 字段名称 数据类型 first; -alter table 表名称 modify 【column】 字段名称 数据类型 after 另一个字段; -``` - -### 修改表名称(重命名表) - -```sql -alter table 旧表名 rename 【to】 新表名; -rename table 旧表名称 to 新表名称; -``` - -## DML语句 - -## 添加语句 - -### (1)添加一条记录到某个表中 - -```sql -insert into 表名称 values(值列表); #值列表中的值的顺序、类型、个数必须与表结构一一对应 -``` - -```sql -mysql> desc teacher; -+----------+------------------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------+------------------------+------+-----+---------+-------+ -| tid | int(11) | YES | | NULL | | -| tname | varchar(5) | YES | | NULL | | -| salary | double | YES | | NULL | | -| weight | double | YES | | NULL | | -| birthday | date | YES | | NULL | | -| gender | enum('男','女') | YES | | NULL | | -| blood | enum('A','B','AB','O') | YES | | NULL | | -| phone | char(11) | YES | | NULL | | -+----------+------------------------+------+-----+---------+-------+ -8 rows in set (0.00 sec) -``` - -```sql -insert into teacher values(1,'张三',15000,120.5,'1990-5-1','男','O','13789586859'); -``` - -```sql -insert into teacher values(2,'李四',15000,'1990-5-1','男','O','13789586859'); #缺体重weight的值 - -ERROR 1136 (21S01): Column(列) count(数量) doesn't match(不匹配) value(值) count(数量) at row 1 -``` - -### (2)添加一条记录到某个表中 - -```sql -insert into 表名称 (字段列表) values(值列表); #值列表中的值的顺序、类型、个数必须与(字段列表)一一对应 -``` - -### (3)添加多条记录到某个表中 - -```sql -insert into 表名称 values(值列表),(值列表),(值列表); #值列表中的值的顺序、类型、个数必须与表结构一一对应 -``` - -```sql -insert into 表名称 (字段列表) values(值列表),(值列表),(值列表); #值列表中的值的顺序、类型、个数必须与(字段列表)一一对应 -``` - -## 修改语句 - -### 修改所有行 - -```sql -update 表名称 set 字段名 = 值, 字段名 = 值; #给所有行修改 -``` - -```sql -#修改所有人的薪资,都涨了1000 -update teacher set salary = salary + 1000 ; -``` - -### 修改部分行 - -```sql -update 表名称 set 字段名 = 值, 字段名 = 值 where 条件; #给满足条件的行修改 -``` - -## 删除 - -### 删除部分行的数据 - -```sql -delete from 表名称 where 条件; -``` - -```sql -delete from teacher where tname = '天琪'; -``` - -### 删除整张表的数据,但表结构留下 - -```sql -delete from 表名称; -``` - -```sql -delete from teacher; -``` - -### 截断表,清空表中的数据,只留有表结构 - -```sql -truncate 表名称; -``` - -```sql -truncate teacher; -``` - -truncate表和delete表的区别: - -delete是一条一条删除记录的。如果在事务中,事务提交之前支持回滚。(后面会讲事务) - -truncate是把整个表drop,新建一张,效率更高。就算在事务中,也无法回滚。 - -# 2.作业 - -## 第一题 - -```sql -CREATE TABLE customers( -c_num int(11), -c_name VARCHAR(50), -c_contact VARCHAR(50), -c_city VARCHAR(50), -c_birth date -); - -DESC customers; - -ALTER TABLE customers MODIFY c_contact VARCHAR(50) AFTER c_birth; -desc customers; - -ALTER TABLE customers MODIFY c_name VARCHAR(70); -desc customers; - -ALTER TABLE customers CHANGE c_contact c_phone VARCHAR(50); -DESC customers; - -ALTER TABLE customers ADD c_gender char(1) after c_name; -DESC customers; - -ALTER TABLE customers rename customers_info; - -ALTER TABLE customers_info drop c_city; - -DESC customers_info; - -``` - -## 第二题 - -```sql -CREATE TABLE books( -b_id int(11) PRIMARY KEY not null, -b_name VARCHAR(50) not null, -authors VARCHAR(100) not null, -price FLOAT not null, -pubdate year not null, -note VARCHAR(100), -num int(11) not null -); - -DESC books; - -INSERT INTO books(b_id,b_name,authors,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,'1995','novel',11); -SELECT * FROM books; - -INSERT INTO books 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),(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); -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; -``` - -## 第三题 - -```sql -CREATE TABLE books( -id int(11) PRIMARY KEY not null auto_increment, -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 books; - -INSERT INTO books VALUES(1,'解忧杂货店','东野圭吾',27.2,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23,102,98,'upload/boosk/边城.jpg'); -SELECT * FROM books; - -CREATE TABLE users( -id int(11) PRIMARY KEY not null auto_increment, -username VARCHAR(100) UNIQUE KEY not null, -PASSWORD VARCHAR(100) not null, -email VARCHAR(100) -); -desc users; - -INSERT INTO users VALUES(1,'admin','112233','admin@mxdx.com'); -SELECT * FROM users; - -CREATE TABLE orders( -id VARCHAR(100) PRIMARY KEY not null, -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, -CONSTRAINT orders_suers_id_fk FOREIGN KEY (user_id) REFERENCES users(id) -); -desc orders; - -INSERT INTO orders VALUES('15294258455691','2018-06-20 00:30:45',2,50.2,0,1); -SELECT * FROM orders; - -CREATE TABLE order_items( -id int(11) PRIMARY KEY not null auto_increment, -count int(11) not null, -amout 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, -CONSTRAINT orders_items_orders_id_fk FOREIGN KEY (order_id) REFERENCES orders(id) on DELETE CASCADE -); -desc order_items; - -INSERT INTO order_items VALUES(1,1,27.2,'解忧杂货店','东野圭吾',27.2,'static/img/default.jpg','15294258455691'),(2,1,23,'边城','沈从文',23,'static/img/default.jpg','15294258455691'); -SELECT * FROM order_items; -``` - diff --git "a/09 \347\216\213\345\250\201\346\226\214/20230214\347\254\224\350\256\260.md" "b/09 \347\216\213\345\250\201\346\226\214/20230214\347\254\224\350\256\260.md" deleted file mode 100644 index bf4603ee90826888028411c104162735a6ff9cb8..0000000000000000000000000000000000000000 --- "a/09 \347\216\213\345\250\201\346\226\214/20230214\347\254\224\350\256\260.md" +++ /dev/null @@ -1,52 +0,0 @@ -# 1.笔记 - -数据库:database - -数据库分类:层次模型、网状模型、关系模型 - -数据库管理系统:DBMS - -关系型数据库管理系统 :MySQL , Oracle , SQL Server , SQLite , DB2 , ... - -非关系型数据库管理系统:Redis , MongoDB , ... - -用cmd命令连接MySQL: - -``` -mysql -h localhost -P 3306 -u root -proot -Enter password:**** -``` - -查看所有的数据库 - -```mysql -show databases; -``` - -创建自己的数据库 - -```mysql -create database 数据库名 charset utf8; - -#创建wwb数据库 -create database wwb; -``` - -删除数据库 - -```mysql -drop database 数据库名; - -#删除wwb数据库 -drop database wwb; -``` - -使用自己的数据库 - -```mysql -use 数据库名; - -#使用wwb数据库 -use wwb; -``` - diff --git "a/09 \347\216\213\345\250\201\346\226\214/20230217\344\275\234\344\270\232.md" "b/09 \347\216\213\345\250\201\346\226\214/20230217\344\275\234\344\270\232.md" deleted file mode 100644 index ea5f002388d97f6c2324a529aa1f6ae424f8d784..0000000000000000000000000000000000000000 --- "a/09 \347\216\213\345\250\201\346\226\214/20230217\344\275\234\344\270\232.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 2.17作业 - -``` -CREATE table if not EXISTS user ( - `id` int COMMENT '学号', - `name` VARCHAR(10) COMMENT'姓名', - `sex` enum('男','女') COMMENT '性别 0表示女 1表示男', - `hobby` VARCHAR(20) COMMENT '爱好', - `address` VARCHAR(20) comment '地址', - `phone` VARCHAR(11) COMMENT '联系方式', - `mailbox` VARCHAR(15) comment '邮箱', - `QQ` VARCHAR(13) comment 'QQ号' -); -DESC user; -INSERT into user VALUES(12412412,'张三','男','打球','福建','21412412','2412@qq','1241241') -``` - diff --git "a/09 \347\216\213\345\250\201\346\226\214/20230217\347\254\224\350\256\260.md" "b/09 \347\216\213\345\250\201\346\226\214/20230217\347\254\224\350\256\260.md" deleted file mode 100644 index f036380cb1a17e43705a4d160ba1665f14b36028..0000000000000000000000000000000000000000 --- "a/09 \347\216\213\345\250\201\346\226\214/20230217\347\254\224\350\256\260.md" +++ /dev/null @@ -1,84 +0,0 @@ -# 1.笔记 - -DDL:数据定义语言,定义一个数据库,定义一个数据表 - -DML:数据操纵语言,对数据表的数据进行,增加、删除、修改 - -DQL:数据查询语言,对数据的查询 - -DCL:数据控制语言,对用户的权限进行设置 - -创建数据表: - -``` -CREATE TABLE IF NOT EXISTS 表名称 ( - 字段名1 数据类型, - 字段名2 数据类型, - 字段名3 数据类型 -); -``` - -查看表结构 - -``` -DESC 表名称; -#例如: -desc student; -``` - -查看表的详细定义 - -``` -SHOW CREATE TABLE 表名称; -#例如: -show create table student; -``` - -删除表格 - -``` -DROP TABLE IF EXISTS 表名称; - -#例如: -use mxdx; -``` - -``` -增加一个字段 -ALTER TABLE 表名称 ADD COLUMN 字段名 数据类型; -#例如: -alter table student add height float; -#删除一个字段 -ALTER TABLE 表名称 DROP COLUMN 字段名; -#例如: -alter table student drop sss; - -#修改一个字段名称 -ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型; -#例如: -alter table student change tel telphone char(11); - -#修改一个字段的数据类型 -ALTER TABLE 表名称 MODIFY 字段名称 新数据类型; -#例如: -alter table student modify height double(5,2); -desc student; - -#修改字段的位置,顺序 -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; -#例如: -alter table xueshen modify birthday date after id; # 放在id后面 -alter table xueshen modify birthday date first; # 放在第一个 -#怎么放最后一个 -alter table xueshen modify birthday date after height; - -#重命名表 -ALTER TABLE 表名称 RENAME TO 新名称; -#例如: -alter table student rename to xueshen; -SHOW tables; -``` - - - diff --git "a/09 \347\216\213\345\250\201\346\226\214/20230218.\347\254\224\350\256\260.md" "b/09 \347\216\213\345\250\201\346\226\214/20230218.\347\254\224\350\256\260.md" deleted file mode 100644 index a45415b12649cdebe590709ff8ad0cbd7bf2928a..0000000000000000000000000000000000000000 --- "a/09 \347\216\213\345\250\201\346\226\214/20230218.\347\254\224\350\256\260.md" +++ /dev/null @@ -1,60 +0,0 @@ -# 1.笔记 - -修改表名: - -``` -alter table xueshen rename to stu;# 将xueshen重命名为stu -``` - -添加语句 - -``` -INSERT INTO 表名称 VALUES(值列表);#要求值列表的数量、顺序要与表结构一一对应 -例如: -desc stu; - -insert into stu VALUES(1,'张三',85.5,'女',85.9,'110',165.5,'2003-05-05'); -指定部分字段赋值 -INSERT INTO 表名称(字段列表) VALUES(值列表);#值列表只需要和前面的字段列表数量、顺序一一对应就可以 - -例如: -insert into stu (id,name) VALUES (2,'李四'); -一条insert语句同时添加多行记录 -INSERT INTO 表名称 VALUES(值列表),(值列表),(值列表)...; -INSERT INTO 表名称(字段列表) VALUES(值列表),(值列表),(值列表)...; - -例如: -insert into stu (id,name) VALUES (3,'王五'),(4,'赵六'),(5,'头七'); -insert into stu VALUES(6,'合金坤',85.5,'女',85.9,'110',165.5,'2003-05-05'),(7,'金多多',85.5,'女',85.9,'110',165.5,'2003-05-05'); -``` - -修改: - -``` -UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值 WHERE 条件; - -例如:修改李四和王五的体重为86 -update stu set weight = 86 WHERE name ='李四' or name = '王五'; -update stu set weight = 186 WHERE name in ('李四' , '王五'); -``` - -删除: - -``` -#删除整个表的数据 -DELETE FROM 表名称; -#例如: -DELETE from stu; # 无条件 - -#删除部分行 -DELETE FROM 表名称 WHERE 条件; -#例如: -delete from stu where id=6; - -#删除weight列的数据 -UPDATE stu SET name=NULL; - -#删除weight列的定义 -ALTER TABLE stu DROP name; -``` - diff --git "a/09 \347\216\213\345\250\201\346\226\214/20230218\344\275\234\344\270\232.md" "b/09 \347\216\213\345\250\201\346\226\214/20230218\344\275\234\344\270\232.md" deleted file mode 100644 index 23a84f846d2598fe49dbcdcd63ee58d979dda342..0000000000000000000000000000000000000000 --- "a/09 \347\216\213\345\250\201\346\226\214/20230218\344\275\234\344\270\232.md" +++ /dev/null @@ -1,95 +0,0 @@ -# 2.18作业 - -## 第一题 - -``` -CREATE TABLE if not EXISTS customers( - `c_num` int(11), - `c_name` VARCHAR(50), - `c_contact` VARCHAR(50), - `c_city` VARCHAR(50), - `c_birth` DATE -); -DESC customers; - -alter TABLE customers MODIFY c_contact VARCHAR(50) after c_birth; -alter table customers modify c_name VARCHAR(70); -alter table customers CHANGE c_contact c_phone VARCHAR(50); -ALTER table customers add c_gender char(1) AFTER c_name; -RENAME table customers to customers_info; -ALTER table customers drop c_city; - -``` - -## 第二题 - -``` -CREATE table if not exists books( - b_id int(11) not NULL UNIQUE KEY COMMENT '书编号', - b_name VARCHAR(50) not NULL comment '书名', - `authors` VARCHAR(100) not NULL comment '作者', - price FLOAT not NULL COMMENT '价格', - pubdate year not null comment '出版日期', - note varchar(100) null comment '说明', - num int(11) not null comment '库存' -); -DESC books; -INSERT into books (b_id,b_name,`authors`,price,pubdate,note,num) VALUES (1,'Tal of AAA','Dickes',23,1995,'novel',11); -insert into books VALUES (2,'EmmaT','Jane lura',35,1993,'joke',22); -INSERT into books VALUES (3,'Story of Jane','aneJane 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); -UPDATE books set price=price+5 where note='novel'; -UPDATE books set price=40 where b_name='EmmaT'; -DELETE FROM books where num=0; - -``` - -## 第三题 - -``` -CREATE TABLE if not exists book( - id int(11) not NULL AUTO_INCREMENT, - 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, - PRIMARY KEY (`id`) -); -INSERT into book VALUES (1,'解忧杂货店','东野圭吾 ',27.20,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23.00,102,98,'upload/books/边城.jpg'); -CREATE table if not exists users( - id int(11) NOT NULL auto_increment, - username VARCHAR(100) NOT NULL UNIQUE KEY, - `password` VARCHAR(100) NOT NULL, - email VARCHAR(100) NULL, - PRIMARY KEY(`id`) -); -INSERT INTO users VALUES (1,'admin','112233','admin@mxdx.com'); -CREATE table if not exists orders( - id VARCHAR(100) PRIMARY KEY NOT NULL , - 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, - CONSTRAINT orders_suers_id_fk FOREIGN KEY (user_id) REFERENCES users(id) -); -INSERT INTO orders VALUES ('15294258455691','2018-06-20 00:30:45',2,50.20,0,1); -CREATE table if not EXISTS order_items( - id int(11) PRIMARY KEY 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, - CONSTRAINT orders_items_orders_id_fk FOREIGN KEY (order_id) REFERENCES orders(id) on DELETE CASCADE -); -insert into order_items VALUES (1,1,27.20,'解忧杂货铺','东野圭吾','static/img/default.jpg',27.20,'15294258455691'), -(2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg','15294258455691'); -``` - diff --git "a/10 \344\275\231\346\264\262/\344\275\234\344\270\232\345\222\214DDL\347\254\224\350\256\260.md" "b/10 \344\275\231\346\264\262/\344\275\234\344\270\232\345\222\214DDL\347\254\224\350\256\260.md" deleted file mode 100644 index 5404529948689fc8f6ba3d2ae6e95b80b7c04335..0000000000000000000000000000000000000000 --- "a/10 \344\275\231\346\264\262/\344\275\234\344\270\232\345\222\214DDL\347\254\224\350\256\260.md" +++ /dev/null @@ -1,366 +0,0 @@ -# 一、笔记 - -``` - DDL语句 - -#数据库的查看,当前用户登录后,可以看到哪些数据库 -show databases; -#创建自己的数据库 -create database [IF not EXISTS] 数据库名; - -#例如: -create database IF NOT EXISTS kunkun; - -#删除数据库 -DROP DATABASE [IF EXISTS] 数据库名称; - -#例如: -drop database if exists kunkun; - -#查看某个数据库的详细定义 -SHOW CREATE DATABASE 数据库名称; - -#例如: -show create database one; - -#修改数据库的编码 -ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则; - -校对规则 可理解成排序规则 - -#例如 -alter database one charset utf8; -#一般先要指定在哪个数据库中对表进行操作 -#使用哪个数据库 -USE 数据库名; - -use one; - -#查看当前数据库下面,当前用户可以查看的表有哪些 -show tables; - -在当前数据库下面,查看另一个数据库下面,当前用户可以查看的表有哪些show tables from mxdx; -#创建表格 - -CREATE TABLE IF NOT EXISTS 表名称 ( - 字段名1 数据类型, - 字段名2 数据类型, - 字段名3 数据类型 -); - -/* -表格:student -学号,姓名,生日,成绩,性别,体重,手机号码 -*/ -CREATE table student( - id int, - name VARCHAR(10), - birthday date, - score float(5,2), - gender enum('男','女','保密'), - weight double(5,2), - tel char(11) -- 最后一个字段,不写,号 -); - -#查看表结构 -DESC 表名称; -#例如: -desc student; - -#查看表的详细定义 -SHOW CREATE TABLE 表名称; - -#例如: -show create table student; - - -#删除表格 -DROP TABLE IF EXISTS 表名称; - -#例如: -use mxdx; -use one; -drop table IF EXISTS test ; - -有关表的修改的各种操作 - -#例如 -#修改表的字符集和校对规则 -ALTER TABLE 表名称 CHARSET=新字符集 COLLATE=新校对规则; - -#例如: -alter table student charset=gbk; # 修改字符集编码,只能之后的操作有效。之前的影响不到 - -#增加一个字段 -ALTER TABLE 表名称 ADD COLUMN 字段名 数据类型; -#例如: -alter table student add height float; - -#删除一个字段 -ALTER TABLE 表名称 DROP COLUMN 字段名; -#例如: -alter table student drop sss; - -#修改一个字段名称 -ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型; -#例如: -alter table student change tel telphone char(11); - -#修改一个字段的数据类型 -ALTER TABLE 表名称 MODIFY 字段名称 新数据类型; -#例如: -alter table student modify height double(5,2); -desc student; - -#修改字段的位置,顺序 -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; -#例如: -alter table xueshen modify birthday date after id; # 放在id后面 -alter table xueshen modify birthday date first; # 放在第一个 -#怎么放最后一个 -alter table xueshen modify birthday date after height; - -#重命名表 -ALTER TABLE 表名称 RENAME TO 新名称; -#例如: -alter table student rename to xueshen; -SHOW tables; - -’#1、数据库的查看: -show databases; - -#2、创建自己的数据库: -create database ikun(数据库名称); - -#3、删除自己的数据库: -drop database ikun(数据库名称); - -#4、查看某个数据库的详细定义: -show create database ikun(数据库名称); - -#5、修改数据库的编码: -alter database 数据库名称 character set 新的字符集名称 collate 校对规则(如utf8); - -#如: -alter database ikun charset utf8; - -#一般先要指定在哪个数据库中堆表进行操作 -#使用哪个数据库 -use 数据库名 -) -#查看当前数据库下面: -show tables; - -show tables from mxdx; -#创建表格 -create table 表名称( -字段名1 数据类型, -字段名2 数据类型, -字段名3 数据类型 -) -#如: -create table ikun( -id int, -name varchar(5), -birthday date, -age int, -tel char(11) -) - -#查看表结构: -DESC 表名称; -#如: -DESC - -#查看表的详细定义 -show create table ikun; - -#删除表格 -drop table ikun - -#修改表的字符集合校对规则 -alter table 表名称 charset = 新字符集 collate = 新校对规则; -#如: -alter table ikun charset = utf8; #修改字符集编码,只有之后的操作有效 - -#删除一个字段名称: -alter table 表名称 change 旧字段名称 新的字段名称 数据类型; -#如: -alter table ikun change iikun kunkun char(11); - -#修改一个字段的数据类型 -alter table 表名称 modify 字段名称 新数据类型; -#如: -alter table ikun modify iikun int; - -#修改字段的位置,顺序 -alter table 表名称 modify 字段名称 数据类型 after 另一个字段; #放在ID后面 -alter table 表名称 modify 字段名称 数据类型 first; #放在第一位 -#如: -alter table ikun modify ikunkun int after rap; -alter table ikun modify ikunkun int first; - -#放在最后一位: -alter table ikun modify ikunkun int after rap; - -#重命名表 -alter table 表名称 rename to 新名称; -#如: -alter table ikun rename to ikunkun; - -alter table ikun rename to ikunkun;#将iku重命为ikunkun - -#添加语句 -insert into 表名称 values(值列表);#要求值列表的数量,顺序要与表结构一一对于 -#如: -insert into ikun values(1,'蔡徐坤',85.5,'女','110',165,'2003-05-05'); - -#添加语句,可以指定部分字段赋值 -insert into 表名称(字段列表) values(值列表);#值列表只需要和前面的字段列表数量,顺序一一对应就可以 -#如: -insert into ikun(id,name) values(2,'李四'); - -#一条insert语句可以同时添加多行纪律 -insert into 表名称 values(值列表),(值列表),(值列表),...; -insert into 表名称(字段列表) values(值列表),(值列表),(值列表),...; -#如: -insert into ikun (id,name) VALUES (3,'王五'),(4,'赵六'),(5,'头七'); -insert into ikun VALUES(6,'合金坤',85.5,'女',85.9,'110',165.5,'2003-05-05'),(7,'金多多',85.5,'女',85.9,'110',165.5,'2003-05-05'); - -#修改 -update 表名称 set 字段名 = 值, 字段名 = 值 , 字段名 = 值, -#如: -6 合金坤 85.50 女 85.90 110 165.50 2003-05-05 -update ikun set id=66,`name`='土坤'; # 无条件 - -update 表名称 set 字段名 = 值, 字段名 = 值, 字段名 = 值 where 条件; -#如:修改李四王五的体重为86 -Update ikun set weight = 86 where name = '李四' or name = '王五'; -update ikun set weight = 86 where name = '李四' or name = '王五'; - -#删除整个表的数据 -delete from 表名称; -#如: -delete from sushan; - -#删除部分行 -delete from 表名称 where 条件; -#如: -delete from ikun where id = xiaoheizi; - -#删除weight列的数据 -update ikun set name = null; - -#删除weight列的定义 -alter table ikun drop name; -``` - - - -# 二,作业 - -```sql -第一题 -create table student( -`学号`VARCHAR(20), -`姓名`VARCHAR(20), -`性别`VARCHAR(20), -`爱好`VARCHAR(20), -`住址`VARCHAR(20), -`联系方式`VARCHAR(11), -`邮箱`VARCHAR(20), -); -INSERT INTO student VALUES('2244310410','余洲','男','听音乐','福建莆田','15205901302','228848643@qq.com'); -SELECT * FROM student; -``` - -```sql -第二题 -create table customers( -c_num int(11), -c_name varchar(50), -c_contact varchar(50), -c_city varchar(50), -c_birth date -); -ALTER TABLE customers modify c_contact varchar(50) AFTER c_birth; -alter table customers modify c_name varchar(70); -alter table customers change c_contact c_phone varchar(50); -alter table customers add c_gender char(1) after c_name; -alter table customers rename customers_info; -alter table customers_info drop c_city; -``` - -```sql -第三题 -CREATE table books( -b_id int(11), -b_name varchar(50), -authors varchar(100), -price float, -pubdate year, -note varchar(100), -num int(11) -); -alter table books MODIFY column b_id int(11) comment '书编号'; -alter table books modify column b_name varchar(50) comment '书名'; -alter table books modify column authors varchar (100) comment '作者'; -alter table books modify column price float comment '价格'; -alter table books modify column pubdate year comment '出版日期'; -alter table books modify column note varchar(100)comment '说明'; -alter table books modify column num int(11) comment '库存'; -INSERT INTO books(b_id,b_name,authors,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,'1995','novel',11); -INSERT INTO books VALUES(2,'EmmaT','Jane lura',35,1993,'joke',22); -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); -update books set price=price+5 where note='novel'; -update books set price=40 where b_name='EmmaT'; -delete from books where num=0; -``` - -```sql -第四题 -create table book( -id int(11) not null, -title varchar(100) not null, -author varchar(100) not null, -price double(11,2) not null, -sales int(11) not null, -stick int(11) not null, -img_path varchar(100) not null -); -insert into book values(1,'解忧杂货店','东野圭吾',27.20,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23,102,98,'upload/books/边城.jpg'); -create table users( -id int(11) not null, -username varchar(100) not null, -password varchar(100) not null, -email varchar(100) not NULL -); -insert into users VALUES(1,'admin','112233','admin@mxdx.com'); -create table orders( -id varchar(100) not null, -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 -); -INSERT into orders values(15294258455691,'2018-06-20 00:30:45',2,50.20,0,1); -create table order_items( -id int(11) not null, -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 -); -INSERT INTO order_items VALUES(1,1,27.2,'解忧杂货店','东野圭吾',27.2,'static/img/default.jpg','15294258455691'),(2,1,23,'边城','沈从文',23,'static/img/default.jpg','15294258455691'); -``` - - - - - diff --git "a/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\270\200\344\270\252\344\275\234\344\270\232.md" "b/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\270\200\344\270\252\344\275\234\344\270\232.md" deleted file mode 100644 index 632ceaac4be55c018f403a079008ccbc5f5386df..0000000000000000000000000000000000000000 --- "a/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\270\200\344\270\252\344\275\234\344\270\232.md" +++ /dev/null @@ -1,24 +0,0 @@ -CREATE DATABASE class3;#12312414 -ALTER DATABASE class3 CHARACTER SET utf8 COLLATE utf8_general_ci; -SHOW CREATE DATABASE class3; -ALTER DATABASE `class3` CHARSET utf8; -use class3; -CREATE table student( - 学号 DOUBLE(15,0), - 姓名 VARCHAR(3), - 性别 VARCHAR, - 爱好 VARCHAR(10), - 住址 VARCHAR(10), - 联系方式 DOUBLE(16,0), - 邮箱 VARCHAR(16,0), - QQ DOUBLE(15,0) -); -show create table student; -INSERT into student (学号) VALUES (2244310413); -insert into student(姓名)VALUES (张荣臻); -insert into student (性别) VALUES (男); -insert into student (爱好) VALUES (看动漫); -insert into student (住址) VALUES (闽大); -insert into student (联系方式) VALUES (13285058199); -insert into student (邮箱) VALUES (2530977417@qq.com); -insert into student (QQ) VALUES (2530977417); \ No newline at end of file diff --git "a/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\272\214\344\270\252.md" "b/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\272\214\344\270\252.md" deleted file mode 100644 index 3a3b2075f1b3bf98b12fd11fec90ef677c9cc1c3..0000000000000000000000000000000000000000 --- "a/13 \345\274\240\350\215\243\350\207\273/\347\254\254\344\272\214\344\270\252.md" +++ /dev/null @@ -1,51 +0,0 @@ -第二个 - -```mysql -create database if not EXISTS test01_market default charset utf8; use test01_market; create table customers( c_num int(11), c_name varchar(50), c_contact varchar(50), c_city varchar(50), c_birth date ); alter table customers MODIFY c_contact varchar(50) after c_birth; alter table customers modify c_name varchar(70); alter table customers change c_contact c_phone; alter table customers add c_gender char(1) after c_name; alter table customers rename to customers_info; alter table customers_info drop c_city; - - -``` - - - -第三个 - -```mysql -Create database if not exists test_library default charset utf8; -Use test_library; -Create table books( b_id int(12) comment'书编号', -b_name varchar(20) comment'书名', -authors varchar(20) comment'作者', -price float comment'价值', -pubdate year comment'发布日期', -note varchar(20)comment'说明', -num int(11) comment'库存' ); -insert into books (b_id,b_name,authors,price,pubdate,note,num) -values (1,Tal of SSS,Dickes,23,1995,novel,11); insert into books values -(2,EmmaT,Jane lura,35,1993,joke,22); -insert into books values (3,Story of Jane,Jane Tim,40,2001,nove,10), -(4,Lovey DayGeorge,Byron,20,2005,novel,30), -(5,Old land,Honore Blade,30,2010,law,0), -(7,Rose Hood,Richardhaggard,28,2008,cartoon,28); -update books set price=price+5 where note=novel; -update books set price=40 where b_name=EmmaT; -delete from books where num=0; -``` - -第四个 - -```mysql - -Create database if not exists test03_booktore default charset utf8; -use test03_booktore; -create table book -( id int auto_increment 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 ); - insert into boo; -``` - diff --git "a/14 \345\220\264\344\277\212\346\230\216/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" "b/14 \345\220\264\344\277\212\346\230\216/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" deleted file mode 100644 index 524419d8c976fa69de7d4538a4a0b591e37b5e50..0000000000000000000000000000000000000000 --- "a/14 \345\220\264\344\277\212\346\230\216/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 1、第一次课笔记 - -1.数据库:database - -​ 数据库管理系统:DBMS(关系型与非关系型) - -​ 标准化查询语言:SQL - -2.MySQL是关系数据库管理系统之一 - -3.数据库管理系统是一种操纵和管理数据库的大型软件 diff --git "a/14 \345\220\264\344\277\212\346\230\216/20230217 \346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\350\257\255\350\250\200.md" "b/14 \345\220\264\344\277\212\346\230\216/20230217 \346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\350\257\255\350\250\200.md" deleted file mode 100644 index 2aa2506507b60c1ea60d7d39d1b75525c9e704d9..0000000000000000000000000000000000000000 --- "a/14 \345\220\264\344\277\212\346\230\216/20230217 \346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\350\257\255\350\250\200.md" +++ /dev/null @@ -1,60 +0,0 @@ -# 1.第二次课笔记 - -1.数据库的结构(定义一个数据库) - -​ (1)数据名称 (2)表名称 (3)列名称 - -2.DDL:创建、修改、删除 占20% - -3.DML:新增数据库、修改数据、删除 占30% - -4.DQL:查询 占50% - -5.MySQL语言不区分单双引号 - -6.if not exists 如果不存在 [ ]在语法中表示可选项 - -7.数据表和字段是一个整体不能分开 - -8.单精度浮点数float(4,2)4表示小数的总长度,2表示两位小数的长度,当小数超出范围会自动截断并四舍五入,小数不足0补齐。 双精度浮点数:double int整数默认显示宽度11 - -9.int(5)zerofill 这里5表示不足五位用0补足5位与允许长度无关。 - -10.小数中的定点型decimal默认(10,0) - -11.字符串:(1)固定长度char (2)varchar(m)限制长度 - -```mysql -INSERT INTO +名字()value() 插入字段内容 - -1alter database 表名 charset utf8 修改字符集为utf8 -``` - - - -# 作业 - -数据库class3 -表student -字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 -并新增一条自己的记录。 - - - -代码答案: - -```mysql -CREATE TABLE student( -`学号` VARCHAR(20), -`姓名` VARCHAR(20), -`性别` VARCHAR(20), -`爱好` VARCHAR(20), -`住址` VARCHAR(20), -`联系方式` VARCHAR(20), -`邮箱` VARCHAR(20), -`QQ号` VARCHAR(20) -); - -INSERT INTO student VALUES('2244310414','吴俊明','男','玩游戏','福建泉州','18960230904','1282453552@qq.com','1282453552'); -SELECT * FROM student; -``` diff --git "a/14 \345\220\264\344\277\212\346\230\216/20230218 MySQL\345\237\272\347\241\200\350\257\255\345\217\245.md" "b/14 \345\220\264\344\277\212\346\230\216/20230218 MySQL\345\237\272\347\241\200\350\257\255\345\217\245.md" deleted file mode 100644 index 24e3f3aa737bd8cd8706d877d2a199c98b328441..0000000000000000000000000000000000000000 --- "a/14 \345\220\264\344\277\212\346\230\216/20230218 MySQL\345\237\272\347\241\200\350\257\255\345\217\245.md" +++ /dev/null @@ -1,59 +0,0 @@ -# 1.第三次课笔记 - -1.MySQL的语法:(1)不分大小写 - -​ (2)以;结束 - -​ (3)不能用SQL语句的关键做名称 - -​ (4)`新符号 - -​ (5)数值型不加引号,直接使用 - -​ (6)同一数据库管理软件不要出现库名/表名重复 - -​ (7)字段属性unsigned无符号表正数 - -2.desc+表格名称 (查看表格) - -# 2.DDL语句 - -if exits 判断是否存在 - -1.删除数据库: drop database [if exists] 数据库名称; - -2.查看数据库的定义: show create database 数据库名称; - -3.修改数据库编码: alter database 数据库名 character set 新的字符集名称 collate 校对规则; - -4.删除表格: drop table if exists 表名称; - -5.修改字段数据类型: alter table 表名称 modify 字段名称 新数据类型; - -6.修改字段的位置,顺序: - -​ (1)alter table 表名称 modify 字段名称 数据类型 after 另一个字段; - -​ (2)alter table 表名称 modify 字段名称 数据类型 first; - -7.重命名表:alter table 表名称 rename to 新名称; - -# 3.DML语句 - -1.添加语句:insert into 表名称 values(值列表);#要求值列表的数量、顺序要与表结构一一对应 - -2.添加语句,可以指定部分字段赋值:insert into 表名称(字段列表) values(值列表)值列表只需要和前面的字段列表数量、顺序一一对应 - -3.一条insert语句同时添加多行记录: -(1)insert into 表名称 values(值列表),(值列表),(值列表)... -(2)insert into 表名称(字段列表) values(值列表),(值列表),(值列表)... - -4.删除整个表的数据:delete from 表名称; - -5.删除部分行:delete from 表名称 where 条件 - -6.删除weight列的数据:update stu set name=null; - -7.删除weight列的定义: alter table stu drop name; - -8.修改表里数据的信息:update 表名称 set 字段名 = 值,字段名 = 值,字段名 = 值 where 条件;或者update 表名称 set 字段名 = 值,字段名 = 值,字段名 = 值; \ No newline at end of file diff --git "a/14 \345\220\264\344\277\212\346\230\216/20230218 \344\275\234\344\270\232\347\255\224\346\241\210.md" "b/14 \345\220\264\344\277\212\346\230\216/20230218 \344\275\234\344\270\232\347\255\224\346\241\210.md" deleted file mode 100644 index 1235d0614a68898fa30736c490cf07579ebff15a..0000000000000000000000000000000000000000 --- "a/14 \345\220\264\344\277\212\346\230\216/20230218 \344\275\234\344\270\232\347\255\224\346\241\210.md" +++ /dev/null @@ -1,295 +0,0 @@ -## 第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 TABLE customers( -c_num int(11), -c_name VARCHAR(50), -c_contact VARCHAR(50), -c_city VARCHAR(50), -c_birth date -); - -DESC customers; - -alter table customers MODIFY c_contact VARCHAR(50) AFTER c_birth; -desc customers; - -alter table customers modify c_name VARCHAR(70); -desc customers; - -alter table customers change c_contact c_phone VARCHAR(50); -desc customers; - -alter table customers add c_gender char(1) after c_name; -desc customers; - -alter table customers rename customers_info; - -alter table customers_info drop c_city; -desc customers_info; -``` - -## 第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 table books( -b_id int(11) PRIMARY KEY not null, -b_name VARCHAR(50) not null, -authors VARCHAR(100) not null, -price FLOAT not null, -pubdate year not null, -note VARCHAR(100), -num int(11) not null -); -desc books; - -INSERT INTO books(b_id,b_name,authors,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,'1995','novel',11); -SELECT * FROM books; - -INSERT INTO books 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),(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); -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 -CREATE TABLE books( -id int(11) PRIMARY KEY not null auto_increment, -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 books; - -INSERT INTO books VALUES(1,'解忧杂货店','东野圭吾',27.2,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23,102,98,'upload/boosk/边城.jpg'); -SELECT * FROM books; - -CREATE TABLE users( -id int(11) PRIMARY KEY not null auto_increment, -username VARCHAR(100) UNIQUE KEY not null, -password VARCHAR(100) not null, -email VARCHAR(100) -); -desc users; - -INSERT INTO users VALUES(1,'admin','112233','admin@mxdx.com'); -SELECT * FROM users; - -CREATE TABLE orders( -id VARCHAR(100) PRIMARY KEY not null, -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, -CONSTRAINT orders_suers_id_fk FOREIGN KEY (user_id) REFERENCES users(id) -); -desc orders; - -INSERT INTO orders VALUES('15294258455691','2018-06-20 00:30:45',2,50.2,0,1); -SELECT * FROM orders; - -CREATE TABLE order_items( -id int(11) PRIMARY KEY not null auto_increment, -count int(11) not null, -amout 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, -CONSTRAINT orders_items_orders_id_fk FOREIGN KEY (order_id) REFERENCES orders(id) on DELETE CASCADE -); -desc order_items; - -INSERT INTO order_items VALUES(1,1,27.2,'解忧杂货店','东野圭吾',27.2,'static/img/default.jpg','15294258455691'),(2,1,23,'边城','沈从文',23,'static/img/default.jpg','15294258455691'); -SELECT * FROM order_items; -``` - diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.14\347\254\224\350\256\260\350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.14\347\254\224\350\256\260\350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" deleted file mode 100644 index 80796c07530b3be3c5ab8be480d42c4066925d0c..0000000000000000000000000000000000000000 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.14\347\254\224\350\256\260\350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" +++ /dev/null @@ -1,12 +0,0 @@ -## 1.笔记(第一次课) - -1.数据库常用概念:数据库(database) 数据库管理系统:DBMS - -2.MYSQL是一种软件是关系数据库管理系统之一。 - -3.SQL:标准化查询语言 - -4.DBMS分类:(1)关系型数据库 (2)非关系型数据库 - -5.什么是数据库管理系统? 答:是一种操纵和管理数据库的大型软件。 - diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.17\347\254\224\350\256\260mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234\345\212\240\344\275\234\344\270\232.md" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.17\347\254\224\350\256\260mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234\345\212\240\344\275\234\344\270\232.md" deleted file mode 100644 index 61839b4914b265cbb4b910c2f7e169e87cd84669..0000000000000000000000000000000000000000 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.17\347\254\224\350\256\260mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234\345\212\240\344\275\234\344\270\232.md" +++ /dev/null @@ -1,69 +0,0 @@ -# 1.笔记 - -1.操作部分:(1)数据名称 (2)表名称 (3)列名称 - - 以上的123属于数据库的结构,也是定义一个数据库。 (先有结构,后有数据。) - -2.操作结构的动作:创建、修改、删除。 共占20% - -3.数据操作的部分(DML):1.新增一条数据库 2.修改数据 3.删除 共占30% - -4.DQL:数据查询语言 主要查询 共占50% - -5.MySQL双引号等于单引号 - -6.if not exists 如果不存在 [ ]在语法中表示可选项 - -7.数据表和列(字段)是一个整体不能分开 - -8.单精度浮点数float(4,2)4表示小数的总长度,2表示两位小数的长度,当小数超出范围会自动截断并四舍五入,小数不足0补齐。 双精度浮点数:double int整数默认显示宽度11 - -int(5)zerofill 这里5表示不足五位用0补足5位与允许长度无关。 - -小数中的定点型decimal默认(10,0) - -字符串:(1)固定长度char (2)varchar(m)限制长度 - -```mysql -9.INSERT INTO +名字()value() 插入内容 -``` - -```mysql -10.alter database 表名 charset utf8 修改字符集 -``` - - - - - -# 2.作业 - -数据库class3 -表student -字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 -并新增一条自己的记录。 - -```MY -CREATE DATABASE class3; -ALTER DATABASE class3 charset utf8; -USE class3; -CREATE TABLE student( -id int, -`NAME` VARCHAR(5), -gender enum('女','男'), -hobby SET('运动','学习','看书','练字'), -`ADD` VARCHAR(20), -phone char(11), -emical VARCHAR(20), -QQ char(10) -); -INSERT INTO student(id,`name`,gender,hobby,`ADD`,phone,emical,QQ)VALUES(18,'小陈','女','学习','学校',15750900310,'1754342529@qq.com',1754342529); -SELECT * FROM student; -``` - - - - - - - diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\344\275\234\344\270\232.md" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\344\275\234\344\270\232.md" deleted file mode 100644 index d533091c8ff1021c63f788a2be7a3614a8219773..0000000000000000000000000000000000000000 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\344\275\234\344\270\232.md" +++ /dev/null @@ -1,314 +0,0 @@ -## 第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 - -``` - -## 第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 - -``` - - - -## 第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 -CREATE DATABASE test01_market; -ALTER DATABASE test01_market charset utf8; -USE test01_market; -CREATE TABLE customers( -c_num int(11), -c_name VARCHAR(50), -c_contact VARCHAR(50), -c_city VARCHAR(50), -c_birth date -); -alter TABLE customers modify c_contact VARCHAR(50) after c_birth; -alter table customers MODIFY c_name varchar(70); -ALTER TABLE customers CHANGE c_contact c_phone varchar(50); -ALTER TABLE customers ADD COLUMN c_gender char(1); -ALTER TABLE customers MODIFY c_gender char(1) AFTER c_name ; -ALTER TABLE customers RENAME TO customers_info; -ALTER TABLE customers DROP COLUMN c_city; -SELECT * FROM customers; -``` - -第二题答案 - -```mysql -CREATE DATABASE test02_library; -ALTER DATABASE test02_library charset utf8; -USE test02_library; -CREATE TABLE books( -b_id INT(11), -b_name varchar(50), -`authors` varchar(100), -price float, -pubdate year, -note varchar(100), -num int(11) -); -INSERT INTO -``` - -```mysql -CREATE DATABASE test02_library; -ALTER DATABASE test02_library charset utf8; -USE test02_library; -CREATE TABLE books ( - b_id INT ( 11 ) NOT NULL, - b_name VARCHAR( 50) NOT NULL, - `authors` VARCHAR ( 100 ) NOT NULL, - price folat NOT NULL, - pubdate YEAR NOT NULL, - note VARCHAR ( 100 ), - num INT ( 11 ) NOT NULL -); -INSERT INTO books ( b_id, b_name, `authors`, price, pubdate, note, num ) -VALUES - ( '1', 'Tal of AAA', 'Dickes', '23', '1995', 'novel', '11' ); -INSERT INTO books -VALUES - ( '2', 'EmmaT', 'Jane lura', '35', '1993', 'joke', '22' ); -INSERT INTO books -VALUES - ( '3', 'Story of Jane', 'Jane Tim', '40', '2001', 'novel', '0' ); -INSERT INTO books -VALUES - ( '4', 'Lovey Day', 'George Byron', '20', '2005', 'novel', '30' ); -INSERT INTO books -VALUES - ( '5', 'Old land', 'Honore Blade', '30', '2010', 'law', '0' ); -INSERT INTO books -VALUES - ( '6', 'The Battle', 'Upton Sara', '30', '1999', 'medicine', '40' ); -INSERT INTO books -VALUES - ( '7', 'Rose Hood', 'Richard haggard', '28', '2008', 'cartoon', '28' ); -UPDATE books SET price=price+5 WHERE note='novel'; -UPDATE books SET price= 40 WHERE b_name=EmmaT; -DELETE FROM books WHERE num=0; -SELECT * FROM books; -``` - -第三次题 - -```MY -CREATE DATABASE test03_bookstore; -ALTER DATABASE test03_bookstor CHARSET UTF8; -USE test03_bookstor; -CREATE TABLE book( -id int(11) PRIMARY KEY no FULL 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 -); -INSERT INTO book('id','title','author ','price','sales',' stock',' img_path')VALUES('1','解忧杂货店 ','东野圭吾 ','27.20','102',' 98','upload/books/解忧杂货店.jpg'),('2','边城 ','沈从文 ',' 23.00','102','98','upload/books/边城.jpg'); -CREATE TABLE users( -id int(11) PRIMARY KEY NO FULL auto_increment, - username varchar(100) UNIQUEY KEY NO NULL, - `password` varchar(100) NO NULL, - email varchar(100) -); -INSERT INTO book VALUES('1','admin','112233','admin@mxdx.com'); -CREATE TABLE orders( -id varchar(100) PRIMARY KEY no NULL auto_increment, -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 NULL -CONSISTENT orders_user_id_fk PRIMARY KEY(user_id )REFERENCES users(id), -); -INSERT INTO orders VALUES('15294258455691','2018-06-20 00:30:45','2','50.20','0','1'); -CREATE TABLE `order_items`( - id varchar(100) PRIMARY KEY NO 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 NULL -CONSISTENT orders_items_user_id_fk PRIMARY KEY(order_id )REFERENCES `order`(id) -); -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'); - -``` - diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\347\254\224\350\256\260DDL\345\222\214DML\345\255\246\344\271\240.md" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\347\254\224\350\256\260DDL\345\222\214DML\345\255\246\344\271\240.md" deleted file mode 100644 index 89ffcf5d6854a7405a09bb3a221ebe196213f72b..0000000000000000000000000000000000000000 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\347\254\224\350\256\260DDL\345\222\214DML\345\255\246\344\271\240.md" +++ /dev/null @@ -1,52 +0,0 @@ -# 1.笔记 - -1.MySQL的语法:(1)不分大小写(2)以;结束 (3)不能用SQL语句的关键做名称 (4)`新符号 (5)数值型不加引号,直接使用 (6)同一数据库管理软件不要出现库名/表名重复 (7)字段属性unsigned无符号表正数 (8)注释 - -2.desc +名称 (查看表格) - -#### 2.DDL语句 - -if exits 判断是否存在 - -1.删除数据库:DROP DATABASE [IF EXISTS] 数据库名称; - -2.查看数据库的详细定义:SHOW CREATE DATABASE 数据库名称; - -3.修改数据库的编码:ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则; - -4.删除表格:DROP TABLE IF EXISTS 表名称; - -5.修改一个字段的数据类型:ALTER TABLE 表名称 MODIFY 字段名称 新数据类型; - -6.修改字段的位置,顺序: -(1)ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; -(1)ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; - -7.重命名表:ALTER TABLE 表名称 RENAME TO 新名称; - -#### 3.DML语句 - -1.添加语句:INSERT INTO 表名称 VALUES(值列表);#要求值列表的数量、顺序要与表结构一一对应 - -2.添加语句,可以指定部分字段赋值:INSERT INTO 表名称(字段列表) VALUES(值列表)值列表只需要和前面的字段列表数量、顺序一一对应 - -3.一条insert语句同时添加多行记录: -(1)INSERT INTO 表名称 VALUES(值列表),(值列表),(值列表)... -(2)INSERT INTO 表名称(字段列表) VALUES(值列表),(值列表),(值列表)... - -4.删除整个表的数据:DELETE FROM 表名称; - -5.删除部分行:DELETE FROM 表名称 WHERE 条件 例如:DELETE FROM books WHERE num=0; - -6.删除weight列的数据:UPDATE stu SET name=NULL; - -7.删除weight列的定义:ALTER TABLE stu DROP name; - -8.修改表里数据的信息:UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值 WHERE 条件;或者UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值; - -# 2.作业 - -写在题目那一页啦 - - - diff --git "a/2 \346\235\216\346\214\257\345\215\216/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/2 \346\235\216\346\214\257\345\215\216/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" deleted file mode 100644 index ff84522a2a6944db34f7ab93006851c35ca22ef9..0000000000000000000000000000000000000000 --- "a/2 \346\235\216\346\214\257\345\215\216/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" +++ /dev/null @@ -1,118 +0,0 @@ -# 第一次作业 - -```mysql -create database class3 charset utf8; -use class3; -create table student( -id int, -name VARCHAR(20), -gender enum('男','女'), -hobby set('敲代码','运动','唱歌'), -address VARCHAR(255), -telphone char(11), -email VARCHAR(20), -qq char(10) -); -DESC student; -insert into student(id,name,hobby,address,telphone,email,qq) values(2,'李逍遥',6,'福建',18065957113,'877611343@qq.com',877611343);` -``` - -# 第二次作业 - -```mysql -create database test01_market charset utf8; -use test01_market; -create table customers( -c_num int(11), -c_name varchar(50), -c_contact VARCHAR(50), -c_city VARCHAR(50), -c_birth date -); -DESC customers; -alter table customers modify c_contact VARCHAR(50) after c_birth; -alter table customers modify c_name VARCHAR(70); -alter table customers change c_contact c_phone VARCHAR(50); -alter table customers add c_gender char(1) after c_name; -alter table customers rename to customers_into; -alter table customers_into drop c_city; -desc customers_into; -show create table customers_into; -``` - -```mysql -create database test02_library charset utf8; -use test02_library; -create table books( -b_id int(11), -b_name VARCHAR(50), -`authors` VARCHAR(50), -price FLOAT(4,2), -pubdate year, -note VARCHAR(100), -num int(11) -); -desc books; -insert into books(b_id,b_name,`authors`,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,1995,'novel',11); -insert into books VALUES(2,'EmmaT','Jane lura',35,1993,'joke',22); -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); -SELECT * from books; -insert into books(num) VALUES(5); -update books set num = num + 5 where note = 'novel'; -update books set num = 27,num=40 where b_name = 'EmmaT' -delete from books where num = 5; -``` - -```mysql -create database test03_bookstore charset utf8; -use test03_bookstore; -create table book( -id int, -title VARCHAR(100), -author VARCHAR(100), -price DOUBLE(11,2), -sales int, -stock int, -img_path VARCHAR(100) -); -desc book; -insert into book VALUES(1,'解忧杂货店','东野圭吾',27.2,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23,102,98,'upload/books/边城.jpg'); -create table users( -id int, -username VARCHAR(100), -`password` VARCHAR(100), -email VARCHAR(100) -); -insert into users VALUES(1,'admin',112233,'admin@mxdx.com'); -create table orders( -id int, -order_time VARCHAR(100), -total_count int, -total_amount double(11,2), -state int, -user_id int -); -insert into orders VALUES(15294451,'2018-06-20 00:30:45',2,50.2,0,1); -drop table orders; -create table orders( -id VARCHAR(100), -order_time datetime, -total_count int, -total_amount double(11,2), -state int, -user_id int -); -insert into orders VALUES(15294258455691,'2018-06-20 00:30:45',2,50.2,0,1); -create table order_items( -id int, -count int, -amount DOUBLE(11,2), -title VARCHAR(100), -author VARCHAR(100), -price DOUBLE(11,2), -img_path VARCHAR(100), -order_id VARCHAR(100) -); -insert into order_items VALUES(1,1,27.2,'解忧杂货店','东野圭吾',27.2,'static/img/default.jpg',15294258455691 ),(2,1,23,'边城','沈从文',23,'static/img/default.jpg',15294258455691); -``` - diff --git "a/20 \346\270\270\347\204\223\346\231\250/2023 02 20 \347\254\224\350\256\260+\344\275\234\344\270\232.md" "b/20 \346\270\270\347\204\223\346\231\250/2023 02 20 \347\254\224\350\256\260+\344\275\234\344\270\232.md" deleted file mode 100644 index 7c78ef891130d3eae51afe246f3622893f975fd4..0000000000000000000000000000000000000000 --- "a/20 \346\270\270\347\204\223\346\231\250/2023 02 20 \347\254\224\350\256\260+\344\275\234\344\270\232.md" +++ /dev/null @@ -1,328 +0,0 @@ -# 笔记 - -1.数据库常用概念:数据库(database) 数据库管理系统:MYSQL是一种软件是关系数据库管理系统之一。 - -DBMS分类:(1)关系型数据库 (2)非关系型数据库 - -数据库管理系统是一种操纵和管理数据库的大型软件。 - -1.数据库的结构(定义一个数据库) - -(1)数据名称 (2)表名称 (3)列名称 - -DDL:创建、修改、删除 - -DML:新增数据库、修改数据、删除 - -DQL:查询 占50% - -MySQL语言不区分单双引号if not exists 如果不存在 [ ]在语法中表示可选项数据表和字段是一个整体不能分开 - -单精度浮点数float(4,2)4表示小数的总长度,2表示两位小数的长度,当小数超出范围会自动截断并四舍五入,小数不足0补齐。 - - 双精度浮点数:double int整数默认显示宽度 - - int (5) zerofill 这里5表示不足五位用0补足5位与允许长度无关。 - -小数中的定点型decimal默认(10,0) - -字符串:(1)固定长度char (2)varchar(m)限制长度INSERT INTO +名字()value() 插入字段内容alter database 表名 charset utf8 修改字符集为utf8. - - - - - -1.MySQL的语法:(1)不分大小写 - -(2)以;结束 - -(3)不能用SQL语句的关键做名称 - -(4)`新符号 (5)数值型不加引号,直接使用 - -(6)同一数据库管理软件不要出现库名/表名重复 - -(7)字段属性unsigned无符号表正数 - - 2.desc+表格名称(查看表格) - - - -2.DDL语句 - -if exits 判断是否存在 - -1.删除数据库drop database [if exists] 数据库名称; - -2.查看数据库的定义:show create database 数据库名称; - -3.修改数据库编码:alter database 数据库名 character set 新的字符集名称 collate 校对规则; - -4.删除表格:drop table if exists 表名称; - -5.修改字段数据类型:alter table 表名称 modify 字段名称 新数据类型; - -6.修改字段的位置,顺序: - -(1)alter table 表名称 modify 字段名称 数据类型 after 另一个字段; - -(2)alter table 表名称 modify 字段名称 数据类型 first; - -7.重命名表:alter table 表名称 rename to 新名称; - - - -3.DML语句 - - 1.添加语句:insert into 表名称 values(值列表);#要求值列表的数量、顺序要与表结构一一对应 - - 2.添加语句,可以指定部分字段赋值:insert into 表名称(字段列表) values(值列表)值列表只需要和前面的字段列表数量、顺序一一对应 - - 3.一条insert语句同时添加多行记录: - -​ 1.insert into 表名称 values(值列表),(值列表),(值列表)... - -​ 2.insert into 表名称(字段列表) values(值列表),(值列表),(值列表)... - -​ 3.一条insert语句同时添加多行记录: - -insert into 表名称 values(值列表),(值列表),(值列表)... - -insert into 表名称(字段列表) values(值列表),(值列表),(值列表)... - -​ 4.删除整个表的数据:delete from 表名称; - -​ 5.删除部分行:delete from 表名称 where 条件; - -​ 6.删除weight列的数据:update stu set name=null; - -​ 7.删除weight列的定义: - -​ 8.修改表里数据的信息:update 表名称 set 字段名 = 值,字段名 = 值,字段名 = 值 where 条件;或者update 表名称 set 字段名 = 值,字段名 = 值,字段名 = 值; - - - - - - - - - - - - - -# 作业 - -## 第一题: - -` - -```mysql -创建数据库test01_market:` -`mysql> create database test01_market;` -`查看所有数据库:` -`mysql> show databases;` -`+--------------------+` -`| Database |` -`+--------------------+` -`| information_schema |` -`| mysql |` -`| performance_schema |` -`| sys |` -`| test01_market |` -`+--------------------+` -`5 rows in set (0.00 sec)` -`使用test01_market数据库:` -`mysql> use test01_market` -`Database changed` -`创建表格customers:` -`mysql> create table customers(` - `-> c_num int(11) ,` - `-> c_name varchar(50) ,` - `-> c_contact varchar(50) ,` - `-> c_city varchar(50) ,` - `-> c_birth date` - `-> ) comment 'customers' ;` -`Query OK, 0 rows affected (0.06 sec)` -`将c_contact字段移动到c_birth字段后面:` -`mysql> Alter table customers modify c_contact varchar(50) after c_birth ;` -`Query OK, 0 rows affected (0.10 sec)` -`Records: 0 Duplicates: 0 Warnings: 0` -`查看调整后的结构:` -`mysql> desc customers;` -`+-----------+-------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+-----------+-------------+------+-----+---------+-------+` -`| c_num | int(11) | YES | | NULL | |` -`| c_name | varchar(50) | YES | | NULL | |` -`| c_city | varchar(50) | YES | | NULL | |` -`| c_birth | date | YES | | NULL | |` -`| c_contact | varchar(50) | YES | | NULL | |` -`+-----------+-------------+------+-----+---------+-------+` -`5 rows in set (0.00 sec)` -`将c_name字段数据类型改为 varchar(70):` -`mysql> Alter table customers modify c_name varchar(70);` -`Query OK, 0 rows affected (0.02 sec)` -`Records: 0 Duplicates: 0 Warnings: 0` -`查看调整后的结构:` -`mysql> desc customers;` -`+-----------+-------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+-----------+-------------+------+-----+---------+-------+` -`| c_num | int(11) | YES | | NULL | |` -`| c_name | varchar(70) | YES | | NULL | |` -`| c_city | varchar(50) | YES | | NULL | |` -`| c_birth | date | YES | | NULL | |` -`| c_contact | varchar(50) | YES | | NULL | |` -`+-----------+-------------+------+-----+---------+-------+` -`5 rows in set (0.00 sec)` -`将c_contact字段改名为c_phone:` -`mysql> Alter table customers change c_contact c_phone varchar(50);` -`Query OK, 0 rows affected (0.03 sec)` -`Records: 0 Duplicates: 0 Warnings: 0` -`查看调整后的结构:` -`mysql> desc customers;` -`+---------+-------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+---------+-------------+------+-----+---------+-------+` -`| c_num | int(11) | YES | | NULL | |` -`| c_name | varchar(70) | YES | | NULL | |` -`| c_city | varchar(50) | YES | | NULL | |` -`| c_birth | date | YES | | NULL | |` -`| c_phone | varchar(50) | YES | | NULL | |` -`+---------+-------------+------+-----+---------+-------+` -`5 rows in set (0.00 sec)` -`增加c_gender字段到c_name后面,数据类型为char(1):` -`mysql> Alter table customers add c_gender char(1) after c_name;` -`Query OK, 0 rows affected (0.09 sec)` -`Records: 0 Duplicates: 0 Warnings: 0` -`查看调整后的结构:` -`mysql> desc customers;` -`+----------+-------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+----------+-------------+------+-----+---------+-------+` -`| c_num | int(11) | YES | | NULL | |` -`| c_name | varchar(70) | YES | | NULL | |` -`| c_gender | char(1) | YES | | NULL | |` -`| c_city | varchar(50) | YES | | NULL | |` -`| c_birth | date | YES | | NULL | |` -`| c_phone | varchar(50) | YES | | NULL | |` -`+----------+-------------+------+-----+---------+-------+` -`6 rows in set (0.00 sec)` -`将表名改为customers_info:` -`mysql> Alter table customers rename to customers_info;` -`Query OK, 0 rows affected (0.03 sec)` -`查看现有表格:` -`mysql> show tables;` -`+-------------------------+` -`| Tables_in_test01_market |` -`+-------------------------+` -`| customers_info |` -`+-------------------------+` -`1 row in set (0.00 sec)` -`删除字段c_city:` -`mysql> Alter table customers_info drop c_city;` -`Query OK, 0 rows affected (0.08 sec)` -`Records: 0 Duplicates: 0 Warnings: 0` -`查看表结构:` -`mysql> desc customers_info;` -`+----------+-------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+----------+-------------+------+-----+---------+-------+` -`| c_num | int(11) | YES | | NULL | |` -`| c_name | varchar(70) | YES | | NULL | |` -`| c_gender | char(1) | YES | | NULL | |` -`| c_birth | date | YES | | NULL | |` -`| c_phone | varchar(50) | YES | | NULL | |` -`+----------+-------------+------+-----+---------+-------+` -`5 rows in set (0.00 sec)` - - -``` - - - -## 第二题: - -```mysql -创建数据库test02_library: -mysql> create database test02_library; -`Query OK, 1 row affected (0.01 sec)` -`创建表格books:` -`mysql> create table books (` - `-> b_id int not null primary key comment '书编号',` - `-> b_name varchar(50) not null comment '书名',` - `-> authors varchar(100) not null comment '作者',` - `-> price float not null comment '价格',` - `-> pubdate year not null comment '出版日期',` - `-> note varchar(100) null comment '说明',` - `-> num int not null comment '库存'` - `-> ) comment 'books' ;` -`Query OK, 0 rows affected (0.05 sec)` -`查看表结构:` -`mysql> desc books ;` -`+---------+--------------+------+-----+---------+-------+` -`| Field | Type | Null | Key | Default | Extra |` -`+---------+--------------+------+-----+---------+-------+` -`| b_id | int(11) | NO | PRI | NULL | |` -`| b_name | varchar(50) | NO | | NULL | |` -`| authors | varchar(100) | NO | | NULL | |` -`| price | float | NO | | NULL | |` -`| pubdate | year(4) | NO | | NULL | |` -`| note | varchar(100) | YES | | NULL | |` -`| num | int(11) | NO | | NULL | |` -`+---------+--------------+------+-----+---------+-------+` -`7 rows in set (0.00 sec)` -`向books表中插入记录:` -`mysql> INSERT INTO books` - `-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("1","Tal of AAA","Dickes","23","1995","novel","11");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("2","EmmaT","Jane lura","35","1993","joke","22");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("3","Story of Jane","Jane Tim","40","2001","novel","0");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("4","Lovey Day","George Byron","20","2005","novel","30");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("5","Old land","Honore Blade","30","2010","law","0");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("6","The Battle","Upton Sara","30","1999","medicine","40");` - `Query OK, 0 rows affected (0.01 sec)` -`mysql> INSERT INTO books` -`-> (b_id,b_name,authors,price,pubdate,note,num)` - `-> VALUES` - `-> ("7","Rose Hood","Richard haggard","28","2008","cartoon","28");` -`Query OK, 0 rows affected (0.01 sec)` -`读取数据表` -`mysql> select * from books;` -`+------+---------------+-----------------+-------+---------+----------+-----+` -`| 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 |` -`+------+---------------+-----------------+-------+---------+----------+-----+` -`7 rows in set (0.00 sec)` -``` - diff --git "a/21\346\264\252\347\220\246\347\232\223/1.md" "b/21\346\264\252\347\220\246\347\232\223/1.md" deleted file mode 100644 index 43d073b36823672a2342989f08c2be98a584c57d..0000000000000000000000000000000000000000 --- "a/21\346\264\252\347\220\246\347\232\223/1.md" +++ /dev/null @@ -1,20 +0,0 @@ - - - - -```mysql -create DATABASE `class4` charset utf8 -USE class4; -create table student( -id int, -`name` varchar(10), -gender VARCHAR(10), -`like` varchar(10), -address varchar(10), -tell varchar(10), -Email varchar(10), -QQ int -); -insert into student values(21,"洪琦皓","男","打游戏","龙岩市","110","110@.com",119); -``` - diff --git "a/21\346\264\252\347\220\246\347\232\223/2.md" "b/21\346\264\252\347\220\246\347\232\223/2.md" deleted file mode 100644 index 335eb7335b718234ba0dff43b9a85d96db0ac181..0000000000000000000000000000000000000000 --- "a/21\346\264\252\347\220\246\347\232\223/2.md" +++ /dev/null @@ -1,19 +0,0 @@ -```mysql -create datebase test01_market charset utf8; -use test01_market; -create table customers( -c_unm int(11), -c_name varchar(50), -c_contact varchar(50), -c_city varchar(50), -c_birth date -); -alter table customers modify c_contact varchar(50) after c_birth; -alter table customers modify c_name varchar(70); -alter table customers change c_contact c_phone varchar (50); -alter table customers add c_gender int not null after `c_name`; -alter table customers modify c_gender char(1); -rename table customers to customers_info; -alter table customers drop c_city; -``` - diff --git "a/21\346\264\252\347\220\246\347\232\223/3.md" "b/21\346\264\252\347\220\246\347\232\223/3.md" deleted file mode 100644 index 292a022f25eec20e6c37959666f09545ff12de9b..0000000000000000000000000000000000000000 --- "a/21\346\264\252\347\220\246\347\232\223/3.md" +++ /dev/null @@ -1,25 +0,0 @@ -```mysql -creast datebase test02_library charset uft8; -use test02_library; -create table books( -b_id int(11) not null comment '书编号', -b_name varchar(50) not null comment '书名', -`authors` varchar(100) not null comment '作者', -price float(2,1) not null comment '价格', -pubdate year not null comment '出版日期', -note varchar(100) comment '说明', -num int (11) not null comment '库存' -); -desc books; -insert into books values(1,'Tal of AAA','Dickes',23.0,1995,'nove',11); -insert into books values(2,'EmmaT','Jane lura',35.0,1993,'joke',22); -insert into books values(3,'Story of jane','Jane Tim',40.0,2001,'novel',0); -insert into books values(4,'Love Day','George Byron',20.0,2005,'nove;',30); -insert into books values(5,'Old land ','Honore Blade',30.0,2010,'law',0); -insert into books values(6,'The Battle','Upton Sara',30.0,1999,'medicine',40); -insert into books values(7,'Rose Hood','Richad haggard',28.0,2008,'cartoon',28); -update books set price=price+5; -update books set price=40 where b_name='EmmaT'; -delete from books where num=0; -``` - diff --git "a/22 \345\221\250\345\205\203\344\277\212\344\270\264/0220 \345\221\250\345\205\203\344\277\212\344\270\264\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/22 \345\221\250\345\205\203\344\277\212\344\270\264/0220 \345\221\250\345\205\203\344\277\212\344\270\264\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" deleted file mode 100644 index ed40870a60fac2a4214af415af952882d7f77305..0000000000000000000000000000000000000000 --- "a/22 \345\221\250\345\205\203\344\277\212\344\270\264/0220 \345\221\250\345\205\203\344\277\212\344\270\264\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" +++ /dev/null @@ -1,263 +0,0 @@ -# 笔记 - -### 数据库是什么? - -- 存储数据的地方 -- DB:数据库(Database) - -### 数据库有了,要怎么管理呢? - -- DBMS:数据库管理系统 ( DataBase Management System )是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。 - -- MySQL、Oracle、SqlServer都是数据库管理系统(DBMS,Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。 - -### SQL是什么? - -- SQL是结构化查询语言(Structure Query Language),专门用来操作/访问数据库的通用语言。 - -### 数据库 - -- 查看所有的数据库 - -```mysql -show databases; -``` - -- 创建自己的数据库 - -```mysql -create database 数据库名 charset utf8; -#创建mxdx数据库 -create database mxdx; -``` - -- 删除数据库 - -```mysql -drop database 数据库名; -#删除mxdx数据库 -drop database mxdx; -``` - -- 使用自己的数据库 - -```mysql -use 数据库名; -#使用mxdx数据库 -use mxdx; -``` - -### 数据表 - -- 查看某个库的所有表格 - -```mysql -show tables; #要求前面有use语句 -show tables from 数据库名; -``` - -- 创建新的表格 - -```mysql -create table 表名称( - 字段名 数据类型, - 字段名 数据类型 -); -``` - -(如果是最后一个字段,后面就用加逗号,因为逗号的作用是分割每个字段。) - -```mysql -#创建学生表 -create table student( - id int, - name varchar(20) #说名字最长不超过20个字符 -); -``` - -- 添加一条记录 - -```mysql -insert into 表名称 values(值列表); - -#添加两条记录到student表中 -insert into student values(1,'张三'); -insert into student values(2,'李四'); -``` - -- 删除表 - -```mysql -drop table 表名称; -``` - -### SQL语法规范 - -(1)mysql的sql语法不区分大小写 - -- A:数据库的表中的数据是否区分大小写。这个的话要看表格的字段的数据类型、编码方式以及校对规则 。排序 - -​ ci(大小写不敏感),cs(大小写敏感),_bin(二进制,即比较是基于字符编码的值而与language无关,区分大小写) - -- B:sql中的关键字,比如:create,insert等,不区分大小写。但是大家习惯上把关键字都“大写”。 - - -(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号 - -(3)建议不要使用mysql的关键字等来作为**表名、字段名、数据库**名等,如果不小心使用,请在SQL语句中使用`(飘号/反引号)引起来,说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面的键) - -(4)数据库和表名、字段名等对象名中间不要包含空格 - -# 作业 - -### 第一个作业 - -数据库class3 - -- 表student - 字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 - 并新增一条自己的记录。 - -```mysql -create database class3 charset utf8; - -use class3; -show tables; - -create table student( -学号 INT, -姓名 varchar(6), -性别 varchar(2), -爱好 varchar(16), -住址 VARCHAR(20), -联系方式 INT, -邮箱 INT, -QQ号 INT - -); -INSERT INTO student VALUES(22,"周元俊临","男","唱","百炼洞",110,119,120,); -``` - -### 作业2 - -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(11), - c_name VARCHAR(50), - c_contact VARCHAR(50), - c_city VARCHAR(50), - c_birth date - ); - - DESC customers; - - alter table customers MODIFY c_contact VARCHAR(50) AFTER c_birth; - desc customers; - - - alter table customers modify c_name VARCHAR(70); - desc customers; - - alter table customers change c_contact c_phone VARCHAR(50); - desc customers; - - alter table customers add c_gender char(1) after c_name; - desc customers; - - alter table customers rename customers_info; - - alter table customers_info drop c_city; - desc customers_info; -``` - -### 作业3 - -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) PRIMARY KEY not null, -b_name varchar(50)not null, -`authors` varchar(100) not null, -price float not null, -pubdate year not null, -note varchar(100), -num int(11) not null -); -INSERT INTO books(b_id,b_name,authors,price,pubdate,note,num) VALUES(1,'Tal of AAA','Dickes',23,'1995','novel',11); -SELECT * FROM books; -INSERT INTO books 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),(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); -SELECT * FROM books; -update books set price=price+5 where note='novel'; -update books set price=40 where b_name='EmmaT'; -delete from books where num=0; -SELECT * FROM books; -``` - diff --git "a/23 \345\210\230\344\274\237\351\271\217/20230220 MySQL.md" "b/23 \345\210\230\344\274\237\351\271\217/20230220 MySQL.md" deleted file mode 100644 index 3cc3f6e01ab91d0075cb5f75a82850c3782fca0b..0000000000000000000000000000000000000000 --- "a/23 \345\210\230\344\274\237\351\271\217/20230220 MySQL.md" +++ /dev/null @@ -1,183 +0,0 @@ -# 一, 笔记 - -创建数据库:create datebase 数据库名;添加 if not exists 如果存在就。。。 添加 if exists 如果不存在就。。。。 - -删除库:drop datebase 库名;可加char set 编码名 用来定义该库的编码 - -改编码:alter datebase 库名 char set 新编码名;可加 collate 校对规则 在后面 - -使用数据库:use 数据库名; - -创建表格:create table 表名 ( - -​ 字段名 数据类型 唯一值(price mary) 不为空(not null) 默认值(default'默认内容') 注释字段(comment'注释内容') 约束(primary key,nuique,mui) 自增 每次加1(auto_increment); - -); - -添加字段:1)insert into 表名 (字段1,字段2,字段3..........) values (值1,值2,值3...........); - -​ 2)insert into 表名 values (值1,值2,值3.........); - -删除字段:alter table 表名 drop 字段名; - -改字段名:alter table 表名 change 旧字段名 新字段名 数据类型; - -改数据类型:alter table 表名 modily 字段名 新数据类型;#后加key null 默认值可换值。后面一部分改为 modily 字段1 after 字段2;则是把字段1放在字段2后。modily 字段1 first也可以。 - -改表名:alter table 旧表名 rename 新表名; - -删表:delete from 表名;删一条数据:delete from 表名 where 该数据的条件特征; - -改数据:update 表名 set 字段名=改后值,字段名=改后值,.......... where 数据条件;#or 或者 and 和,并且 where的第二种表达式,例where 字段名 in(11,22); 条件为11和22的字段生效。 - -key值:PRI 主键约束 primary key - -​ UNI 唯一约束 unique - -​ MUI 多列组合唯一约束 另开一行代码 alter table 表名 add index(字段名); - -# 二,作业 - -## 第一题 - -```sql --- 创建数据库 -CREATE DATABASE test01_market; --- 使用数据库 -use test01_market; --- 创建表格,添加字段 -create table customers( - c_num int(11), - c_name varchar(50), - c_contact varchar(50), - c_city varchar(50), - c_birth date -); --- 将c_contact字段移动到c_birth字段后面 -alter table customers modify c_contact varchar(50) after c_birth; --- 将c_name字段数据类型改为 varchar(70) -alter table customers modify c_name varchar(70); --- 将c_contact字段改名为c_phone -alter table customers change c_contact c_phone varchar(50); --- 增加c_gender字段到c_name后面,数据类型为char(1) -alter table customers add c_gender char(1) after c_name; --- 将表名改为customers_info -alter table customers rename customers_info; --- 删除字段c_city -alter table customers_info drop c_city; -``` - -## 第二题 - -```sql --- 创建数据库test02_library -create database test02_library char set utf8; --- 使用该数据库 -use test02_library; --- 创建表格books -create table books( - b_id int(11) not null primary key comment'书编号', - b_name varchar(50) not null comment'书名', - `authors` varchar(100) not null comment'作者', - price float not null comment'价格', - pubdate year not null comment'出版日期', - note varchar(100) comment'说明', - num int(11) not null comment'库存' -); -# 向books表中插入记录 --- 指定所有字段名称插入第一条记录 -insert into books( - b_id, - b_name, - `authors`, - price, - pubdate, - note, - num -) values( - 1, - 'Tal of AAA', - 'Dickes', - 23, - 1995, - 'novel', - 11 -); --- 不指定字段名称插入第二记录 -insert into books values(2,'EmmaT','Jane lura',35,1993,'joke',22); --- 同时插入多条记录(剩下的所有记录) -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); --- 将小说类型(novel)的书的价格都增加5 -update books set price=price+5 where note='novel'; --- 将名称为EmmaT的书的价格改为40 -update books set price=40 where b_name='EmmaT'; --- 删除库存为0的记录 -delete from books where num=0; -``` - -## 第三题 - -```sql --- 创建数据库test03_bookstore -create database test03_bookstore char set utf8; --- 使用该数据库 -use test03_bookstore; --- 创建book表 -create table book( - id int(11) not null primary key auto_increment, - 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 -); - --- 添加部分模拟数据 - insert into book values - (1,'解忧杂货店','东野圭吾',27.20,102,98,'upload/books/解忧杂货店.jpg'), - (2,'边城','沈从文',23.00,102,98,'upload/books/边城.jpg'); - - --- 创建表users -create table users( - id int(11) not null primary key auto_increment, - username varchar(100) not null unique, - `password` varchar(100) not null, - email varchar(100) -); --- 添加部分模拟数据 -insert into users values (1,'admin',112233,'admin@mxdx.com'); --- 创建订单表orders -create table orders( - id int(11) not null primary key auto_increment, - username varchar(100) not null unique, - password varchar(100) not null, - email varchar(100) -); --- 添加部分模拟数据 -insert into orders values (1,'admin',112233,'admin@mxdx.com'); --- 创建订单明细表order_items -create table order_items( - id int(11) not null primary key 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 -); --- 将字段名为order_id 的key改成mul -alter table order_items add index(order_id); --- 添加部分模拟数据 -insert into orders_items values - (1,1,27.20,'解忧杂货店','东野圭吾',27.20,'static/img/default.jpg',15294258455691), - (2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg',15294258455691); -``` - diff --git "a/24\347\224\230\345\220\257\350\210\252/\346\225\260\346\215\256\345\272\223class3.md" "b/24\347\224\230\345\220\257\350\210\252/\346\225\260\346\215\256\345\272\223class3.md" deleted file mode 100644 index a1af793dae07a8077721f82a799ba232b067b1d7..0000000000000000000000000000000000000000 --- "a/24\347\224\230\345\220\257\350\210\252/\346\225\260\346\215\256\345\272\223class3.md" +++ /dev/null @@ -1,28 +0,0 @@ -数据库class3 - -```mysql -create database class3; -``` - -表student字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 -并新增一条自己的记录。 - -```mysql -use class3; -create table student( -id char(10), -name vachar (5), -sex vachar (2), -hobby varchar(10), -address varchar(100), -number char(11), -e-mail char(30), -qq char (10), -other varchar (100) - ); - insert into student( - id,name,sex,hobby,address,number,e-mail,qq,other - )values(2244310424,甘启航,男,唱跳,安徽,15215559503,gqh20021130@qq.com,2936803841,sybs) - ; -``` - diff --git "a/24\347\224\230\345\220\257\350\210\252/\347\254\254\344\272\214\344\270\252.md" "b/24\347\224\230\345\220\257\350\210\252/\347\254\254\344\272\214\344\270\252.md" deleted file mode 100644 index 901f9dc591ff0701c4b9bdaefe364d0b0922be49..0000000000000000000000000000000000000000 --- "a/24\347\224\230\345\220\257\350\210\252/\347\254\254\344\272\214\344\270\252.md" +++ /dev/null @@ -1,51 +0,0 @@ -第二个 - -```mysql -create database if not EXISTS test01_market default charset utf8; use test01_market; create table customers( c_num int(11), c_name varchar(50), c_contact varchar(50), c_city varchar(50), c_birth date ); alter table customers MODIFY c_contact varchar(50) after c_birth; alter table customers modify c_name varchar(70); alter table customers change c_contact c_phone; alter table customers add c_gender char(1) after c_name; alter table customers rename to customers_info; alter table customers_info drop c_city; - - -``` - - - -第三个 - -```mysql -Create database if not exists test_library default charset utf8; -Use test_library; -Create table books( b_id int(11) comment'书编号', -b_name varchar(20) comment'书名', -authors varchar(20) comment'作者', -price float comment'价值', -pubdate year comment'发布日期', -note varchar(20)comment'说明', -num int(11) comment'库存' ); -insert into books (b_id,b_name,authors,price,pubdate,note,num) -values (1,Tal of SSS,Dickes,23,1995,novel,11); insert into books values -(2,EmmaT,Jane lura,35,1993,joke,22); -insert into books values (3,Story of Jane,Jane Tim,40,2001,nove,10), -(4,Lovey DayGeorge,Byron,20,2005,novel,30), -(5,Old land,Honore Blade,30,2010,law,0), -(7,Rose Hood,Richardhaggard,28,2008,cartoon,28); -update books set price=price+5 where note=novel; -update books set price=40 where b_name=EmmaT; -delete from books where num=0; -``` - -第四个 - -```mysql - -Create database if not exists test03_booktore default charset utf8; -use test03_booktore; -create table book -( id int auto_increment 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 ); - insert into boo; -``` - diff --git "a/35\347\224\260\346\262\233\344\270\234/\344\275\234\344\270\232.md" "b/35\347\224\260\346\262\233\344\270\234/\344\275\234\344\270\232.md" deleted file mode 100644 index e1dd277e50ed5f5581674dc874ad62c655ca419f..0000000000000000000000000000000000000000 --- "a/35\347\224\260\346\262\233\344\270\234/\344\275\234\344\270\232.md" +++ /dev/null @@ -1,38 +0,0 @@ -# 作业 - -#### 第一题: - -create table student ( 学号 char(10) , 姓名 varchar(4) , 性别 char(1) , 爱好 text, 地址 varchar(20) , 联系方式 char(11) , 邮箱 varchar(20), QQ号 varchar(20) ) ; insert into student values ('2244310435','田沛东','男','听音乐','长治','15535581317','2409237500@qq.com','2409237500'); - -#### 第二题: - -create database if not EXISTS test01_market default charset utf8; use test01_market; create table customers( c_num int(11), c_name varchar(50), c_contact varchar(50), c_city varchar(50), c_birth date ); alter table customers MODIFY c_contact varchar(50) after c_birth; alter table customers modify c_name varchar(70); alter table customers change c_contact c_phone; alter table customers add c_gender char(1) after c_name; alter table customers rename to customers_info; alter table customers_info drop c_city; - -#### 第三题: - -create database if not exists test02_library default charset utf8; use test02_library; create table books( b_id int(11) comment'书编号', b_name varchar(50) comment'书名', authors varchar(100) comment'作者', price float comment'价格', pubdate year comment'出版日期', note varchar(100)comment'说明', num int(11) comment'库存' ); insert into books (b_id,b_name,authors,price,pubdate,note,num) values (1,'Tal of AAA','Dickes',23,1995,'novel',11); insert into books values (2,'EmmaT','Jane lura',35,1993,'joke',22); insert into books values (3,'Story of Jane','Jane Tim',40,2001,'nove',10),(4,'Lovey DayGeorge','Byron',20,2005,'novel',30),(5,'Old land','Honore Blade',30,2010,'law',0),(5,'Old land','Honore Blade',30,2010,'law',0),(7,'Rose Hood','Richard haggard',28,2008,'cartoon',28); update books set price=price+5 where note='novel'; update books set price=40 where b_name='EmmaT'; delete from books where num=0; - -#### 第四题: - -create database if not exists test03_booktore default charset utf8; use test03_booktore; create table book( id int auto_increment 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 ); insert into book values (1,'解忧杂货店','东野圭吾',27.20,102,98,'up - -# 笔记 - -### DDL和DML语句练笔记: - -DDL和DML是SQL语言(结构化查询语言)的组成部分,其中QL语言包括四种主要程序设计语言类别的语句:数据定义(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)。 - -DDL语句占据20%: - -数据库结构:1.数据名称2.表名称3.列名称 - -先有结构,后用数据。 - -DML语句占据30%: - -1.新增一条数据 - -2.修改数据 - -3.删除 - diff --git "a/38 \345\220\225\345\276\220\346\235\255/20230218 Mysql DDL\345\222\214DML\350\257\255\345\217\245\347\232\204\345\255\246\344\271\240.md" "b/38 \345\220\225\345\276\220\346\235\255/20230218 Mysql DDL\345\222\214DML\350\257\255\345\217\245\347\232\204\345\255\246\344\271\240.md" deleted file mode 100644 index 056ca545dcfa05566ea9f34391d511ae93dbec15..0000000000000000000000000000000000000000 --- "a/38 \345\220\225\345\276\220\346\235\255/20230218 Mysql DDL\345\222\214DML\350\257\255\345\217\245\347\232\204\345\255\246\344\271\240.md" +++ /dev/null @@ -1,199 +0,0 @@ -# 笔记 - -## 一、DDL - -#create database - -创建数据库,base后跟名字 - -#show create database - -查看数据库详细定义 - -#drop database - -删除数据库 - -#create database if exists - -存在就删除 - -#use - -选择某个数据库 - -#alter database - -修改数据库 - -#character set - -新的字符集 - -#collate - -校对规则 - - - -#create table if not exists 表的名称 - -创建表格 - -#alter table 表的原名称 rename to 表的新名称 - -重命名表的名称 - -#alter table表的名称 add column 字段的名字和数据类型 - -增加一个字段 - -#alter table 表的名称 drop column 字段名称 - -删除一个字段 - -#desc 表的名称; - -查看表名称 - -#drop table lf exists 表的名称 - -删除表格 - -## 二、DML - -#往数据库里添加信息 - -insert into 表的名称 values (列表)( 列表)( 列表)…… - -列表里名称要``用逗号隔开 - -update 表名称 set 字段名=值,字段名=值; - -#删除weight列的数据 - -update stu set name=null; - -#删除weight列的定义 - -alter table stu drop name; - -#删除部分行 - -delete from 表的名称 where 条件 - - - - - -# 作业 - -第一题 - -```mysql -创建数据库test01_market: -mysql> create database test01_market; -查看所有数据库: -mysql> show databases; -+--------------------+ -| Database | -+--------------------+ -| information_schema | -| mysql | -| performance_schema | -| sys | -| test01_market | -+--------------------+ -5 rows in set (0.00 sec) -使用test01_market数据库: -mysql> use test01_market -Database changed -创建表格customers: -mysql> create table customers( -c_num int(11) , -c_name varchar(50) , -c_contact varchar(50) , -c_city varchar(50) , -c_birth date - ) comment 'customers' ; -Query OK, 0 rows affected (0.06 sec) -将c_contact字段移动到c_birth字段后面: -mysql> Alter table customers modify c_contact varchar(50) after c_birth ; -Query OK, 0 rows affected (0.10 sec) -Records: 0 Duplicates: 0 Warnings: 0 -查看调整后的结构: -mysql> desc customers; -+---------+-------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+---------+-------------+------+-----+---------+-------+ -| c_num | int(11) | YES | | NULL | | -| c_name | varchar(70) | YES | | NULL | | -| c_city | varchar(50) | YES | | NULL | | -| c_birth | date | YES | | NULL | | -| c_phone | varchar(50) | YES | | NULL | | -+---------+-------------+------+-----+---------+-------+ -5 rows in set (0.00 sec) -增加c_gender字段到c_name后面,数据类型为char(1): -mysql> Alter table customers add c_gender char(1) after c_name; -Query OK, 0 rows affected (0.09 sec) -Records: 0 Duplicates: 0 Warnings: 0 -查看调整后的结构: -mysql> desc customers; -+----------+-------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------+-------------+------+-----+---------+-------+ -| c_num | int(11) | YES | | NULL | | -| c_name | varchar(70) | YES | | NULL | | -| c_gender | char(1) | YES | | NULL | | -| c_city | varchar(50) | YES | | NULL | | -| c_birth | date | YES | | NULL | | -| c_phone | varchar(50) | YES | | NULL | | -+----------+-------------+------+-----+---------+-------+ -6 rows in set (0.00 sec) -将表名改为customers_info: -mysql> Alter table customers rename to customers_info; -Query OK, 0 rows affected (0.03 sec) -查看现有表格: -mysql> show tables; -+-------------------------+ -| Tables_in_test01_market | -+-------------------------+ -| customers_info | -+-------------------------+ -1 row in set (0.00 sec) -删除字段c_city: -mysql> Alter table customers_info drop c_city; -Query OK, 0 rows affected (0.08 sec) -Records: 0 Duplicates: 0 Warnings: 0 -查看表结构: -mysql> desc customers_info; -+----------+-------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------+-------------+------+-----+---------+-------+ -| c_num | int(11) | YES | | NULL | | -| c_name | varchar(70) | YES | | NULL | | -| c_gender | char(1) | YES | | NULL | | -| c_birth | date | YES | | NULL | | -| c_phone | varchar(50) | YES | | NULL | | -+----------+-------------+------+-----+---------+-------+ -5 rows in set (0.00 sec) -``` - -# 第2题 - -```mysql -mysql> create database test02_library; -Query OK, 1 row affected (0.01 sec) -创建表格books: -mysql> create table books ( -b_id int not null primary key comment '书编号', -b_name varchar(50) not null comment '书名', -authors varchar(100) not null comment '作者', -price float not null comment '价格', -pubdate year not null comment '出版日期', - -> note varchar(100) null comment '说明', - -> num int not null comment '库存' - -> ) comment 'books' ; -Query OK, 0 rows affected (0.05 sec) -``` - diff --git "a/15 \350\260\242\351\276\231\345\263\260/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" "b/42 \345\270\270\351\223\255\350\277\234/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" similarity index 98% rename from "15 \350\260\242\351\276\231\345\263\260/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" rename to "42 \345\270\270\351\223\255\350\277\234/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" index a06c8c2b45495ac1b5dd012fbfee46683c532871..c45e1215ecf36980172d5f010f8760aa24819ca8 100644 --- "a/15 \350\260\242\351\276\231\345\263\260/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" +++ "b/42 \345\270\270\351\223\255\350\277\234/20230218DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" @@ -335,7 +335,7 @@ CREATE TABLE student( ) -- 并新增一条自己的记录。 -INSERT INTO student VALUES(15,'谢龙峰','男','ikun','团结里','13626090658','1211012311@QQ.COM','1211012311'); +INSERT INTO student VALUES(15,'常铭远‘,58','2624845576’,1012311'); ``` diff --git "a/6 \351\202\271\347\244\274\346\235\255/20230218 MySQL DDL\345\222\214DML\350\257\255\345\217\245\347\254\224\350\256\260.md" "b/6 \351\202\271\347\244\274\346\235\255/20230218 MySQL DDL\345\222\214DML\350\257\255\345\217\245\347\254\224\350\256\260.md" deleted file mode 100644 index 8320154cfbdad0a6b6bac72dead35f6fa82bc8fa..0000000000000000000000000000000000000000 --- "a/6 \351\202\271\347\244\274\346\235\255/20230218 MySQL DDL\345\222\214DML\350\257\255\345\217\245\347\254\224\350\256\260.md" +++ /dev/null @@ -1,215 +0,0 @@ -# 0218笔记 - -### 第一步 - -1. 开启数据库的服务端 --->任务管理器>服务>MySQL57>开始 - -2. 选择一个客服端去连接 - - 1.命令行黑窗口 ---> cmd - - 2.图形界面窗口 ---> Navicat - -3. 客服端连服务端,需要 - - 1.服务器的IP, 端口 3306, - - - 本机的ip 127.0.0.1 - - 本机的域名:localhost - - 2.账号密码 - - ​ 1.root - - ​ 2.root - -### MySQL语法要求 - -1. 不分大小写 - -2. 以 ;号结束语句 - -3. 库名,表名,字段(列)名 只用**英文字母**、**数字**、**_** 不用其他字符 不要用空格,不使用SQL语句本身关键词作名称 - -4. ``(反引号/飘号) 专门用来标记名称,被其包裹的字符串就只能帮名称使用了 - -5. 数值型直接使用不加引号,**字符串加单引号或双引号** - -6. 同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名 - -7. 字段属性: - - unsigned 无符号的 用来表示正数 - - zerofill 用0填充 - - null 允许为空 / not null 不允许为空 - - default 默认值 - - auto_increment 自增 - -8. 注释 : 单行 # 、 - - - - 多行 /* - - 1 - - 2 - - */ - -### 数据类型 - -1.数值型: 整数 + 小数 - -​ 整数:**int**(常用) - -​ 小数:浮点型 (不精准) 和 定点型(精准) - -​ 浮点:float double - -​ **float** float(m,n) 如果写了m,n则表示有限制,m是整数+小数的总长度,n表示小数的长度 - -​ 如果小数部分超出n的值,则会自动截断,并四舍五入 [因为是浮点型,所以如果是5可能进也可能舍] - -​ **double** 同上 - -​ 定点: **decimal** 语法同上,不过小数四舍五入与小学数字一致 - -2.字符串 - -​ 常用 - -​ char 固定长度,默认为1 ,char(m),表示这个值一定会占用m个字符,同事限制最大长度m - -​ varchar(m) 一定要写(m) 表示限制最大长度m - -3.时间 添加值时,需要加 ' ' - -date 日期 '2023/2/18' time 时间 '11:30:30' datetime 日期加时间 '2023/2/18 11:30:30' year 年 - - - -## DDL(数据定义语言) 建立(create) 修改(alter) 删除(drop) - -```mysql -查看所有数据库 show databases; - -#创建自己的数据库 -create database IF NOT EXISTS kun (数据库名); -if not exists判断如果不存在则创建数据库 - -#删除数据库 -drop database if exists kun; -if exists判断如果存在则删除数据库 - -#查看某个数据库的详细定义 -show create database kun; - -#修改数据库的编码 -ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则; -#例如 -alter database kun charset utf8; - -#使用数据库 -use kun; - -#查看当前数据库下面,当前用户可以查看的表有哪些 -show tables; - -# 在当前数据库下面,查看另一个数据库下面,当前用户可以查看的表有哪些 -show tables from mxdx; - -#创建表格 -create table if not exists IKUN( - id int, - name varchar(10), - age int, - tel char(11) -- 最后一个字段,不写,号 -); - -#查看表结构 -desc IKUN; - -#查看表的详细定义 -show create table IKUN; - -#删除表格 -drop table IF EXISTS IKUN ; - -#修改表的字符集和校对规则 -ALTER TABLE 表名称 CHARSET=新字符集 COLLATE=新校对规则; -#例如: -alter table IKUN charset=utf8; - -#增加一个字段 -alter table IKUN add address varchar(20); - -#删除一个字段 -alter table IKUN drop abc; - -#修改一个字段名称 -ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型; -alter table IKUN change tel telphone char(11); - -#修改一个字段的数据类型 -ALTER TABLE 表名称 MODIFY 字段名称 新数据类型; -alter table IKUN modify address carchar(40); - -#修改字段的位置,顺序 -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; -#例如: -alter table IKUN modify abc int after id; # abc 放在id后面 -alter table IKUN modify abc int first; # abc 放在第一个 - -#重命名表 -ALTER TABLE 表名称 RENAME TO 新名称; -alter table IKUN rename to giao; - -``` - - - -## DML(数据操作语言) 增(insert),删(delete),改(update) 数据 - -```mysql -#添加语句 -INSERT INTO 表名称 VALUES(值列表);#要求值列表的数量、顺序要与表结构一一对应 -insert into ikun VALUES(1,'坤',20,'男','110',165.5); - -#添加语句,可以指定部分字段赋值 -INSERT INTO 表名称(字段列表) VALUES(值列表);#顺序一一对应 -insert into giao (id,name) VALUES (2,'徐'); - -#一条insert语句同时添加多行记录 -INSERT INTO 表名称 VALUES(值列表),(值列表),(值列表)...; -insert into giao (id,name) VALUES (3,'你'),(4,'干'),(5,'麻'); - -INSERT INTO 表名称(字段列表) VALUES(值列表),(值列表),(值列表)...; -insert into giao VALUES(6,'爱',20,'男','120',170),(7,'哟',20,'女','119',180); - -#修改 -UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值; -update giao set id=6,`name`='菜'; # 无条件 - -UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值 WHERE 条件; -update giao set age = 20 WHERE name ='爱' or name = '哟'; -update giao set 20 WHERE name in ('爱' , '哟'); - -#删除整个表的数据 -DELETE FROM 表名称; -delete from giao; # 无条件 - -#删除部分行 -DELETE FROM 表名称 WHERE 条件; -delete from stu where id=2; - -#删除列的数据 -update giao set name=NULL; - -#删除列的定义 -alter table giao drop name; -``` - diff --git "a/6 \351\202\271\347\244\274\346\235\255/\351\202\271\347\244\274\346\235\255\347\232\204DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" "b/6 \351\202\271\347\244\274\346\235\255/\351\202\271\347\244\274\346\235\255\347\232\204DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" deleted file mode 100644 index 8acf3135ce39cde3b10192467411ffe4e18b09e3..0000000000000000000000000000000000000000 --- "a/6 \351\202\271\347\244\274\346\235\255/\351\202\271\347\244\274\346\235\255\347\232\204DDL\345\222\214DML\350\257\255\345\217\245\347\273\203\344\271\240.md" +++ /dev/null @@ -1,288 +0,0 @@ -## 第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 -reate table customers( -c_num int(11), -c_name varchar(50), -c_contact varchar(50), -c_city varchar(50), -c_birth date -); - -desc customers; - -alter table customers modify c_contact varchar(50) after c_birth ; #把c_contact移到c_birth的后面 -alter table customers modify c_name varchar(70);#将c_name字段数据类型改为 varchar(70) -alter table customers change c_contact c_plone varchar(50); -- 将c_contact字段改名为c_phone -alter table customers add c_gender char(1); -alter table customers modify c_gender char(1) after c_name;-- 增加c_gender字段到c_name后面,数据类型为char(1) -alter table customers rename to customers_into;-- 将表名改为customers_info -alter table customers_into drop c_city;-- 删除字段c_city -show tables;-- 查看表 -desc customers_into; -``` - -## 第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 table if not EXISTS books( -b_id int(11) not null unique , -b_name varchar (50) not null, -`authors` varchar(100) not null, -price float not null, -pubdate year not null, -note varchar(100), -num int(11) not null - -); - -desc books; - -insert into books (b_id,b_name,authors,price,pubdate,note,num) values (1, 'Tal of AAA','Dickes',23,1995,'nove',11);-- 指定所以字段名称插入记录 -show create table books; - -insert into books values (2,'EmmaT','Jane lura',35,1993,'joke',22);-- 不指定字段名称插入记录 - -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); - -select *from books; -- 查看表内容 - -update books set price=price+5 where note='novel';- -将小说类型(novel)的书的价格都增加5 -update books set price=40 where b_name='EmmaT'; -- 将名称为EmmaT的书的价格改为40。 -delete from books where num=0; -- 删除库存为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 -CREATE TABLE books( -id int(11) PRIMARY KEY not null auto_increment, -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 books; - -INSERT INTO books VALUES(1,'解忧杂货店','东野圭吾',27.2,102,98,'upload/books/解忧杂货店.jpg'),(2,'边城','沈从文',23,102,98,'upload/boosk/边城.jpg'); -SELECT * FROM books; - - -create table users( -id int(11) not null primary key auto_increment, -username varchar(100) not null unique key , -`password` varchar(100) not null, -email varchar(100) -); -desc users; -select * from users; -insert into users VALUES (1,'admin',112233,'admin@mxdx.com'); - -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, -CONSTRAINT orders_suers_id_fk FOREIGN KEY (user_id) REFERENCES users(id) -); -desc orders; -insert into orders 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 primary key 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 -); - -desc order_items; - -insert into order_items values (1,1,27.20,'解忧杂货店','东野圭吾',27.20,'static/img/default.jpg','15294258455691'); - -insert into order_items values (2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg','15294258455691'); - -select * from order_items; - -``` -