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" new file mode 100644 index 0000000000000000000000000000000000000000..80796c07530b3be3c5ab8be480d42c4066925d0c --- /dev/null +++ "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" @@ -0,0 +1,12 @@ +## 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" new file mode 100644 index 0000000000000000000000000000000000000000..61839b4914b265cbb4b910c2f7e169e87cd84669 --- /dev/null +++ "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" @@ -0,0 +1,69 @@ +# 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" new file mode 100644 index 0000000000000000000000000000000000000000..d533091c8ff1021c63f788a2be7a3614a8219773 --- /dev/null +++ "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/2.18\344\275\234\344\270\232.md" @@ -0,0 +1,314 @@ +## 第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" new file mode 100644 index 0000000000000000000000000000000000000000..89ffcf5d6854a7405a09bb3a221ebe196213f72b --- /dev/null +++ "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" @@ -0,0 +1,52 @@ +# 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.作业 + +写在题目那一页啦 + + +