From a80744fa972b669ebd4c8e12fe54e7d55257b346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=9B=AA=E5=BD=B1=E7=9A=84=E4=BD=9C=E4=B8=9A?= <2156239329@qq.com> Date: Sat, 25 Feb 2023 12:32:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=8B=E9=9B=AA=E5=BD=B1=E7=9A=84=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...11\350\243\205\347\254\224\350\256\260.md" | 20 ++ ...72\350\241\250\347\254\224\350\256\260.md" | 37 +++ ...50\344\270\216\345\242\236\345\200\274.md" | 263 ++++++++++++++++++ 3 files changed, 320 insertions(+) create mode 100644 "39 \347\216\213\351\233\252\345\275\261/20230213 \347\216\213\351\233\252\345\275\261MySQL\345\256\211\350\243\205\347\254\224\350\256\260.md" create mode 100644 "39 \347\216\213\351\233\252\345\275\261/20230215 \347\216\213\351\233\252\345\275\261MySQL\345\273\272\345\272\223\345\222\214\345\273\272\350\241\250\347\254\224\350\256\260.md" create mode 100644 "39 \347\216\213\351\233\252\345\275\261/20230220 \347\216\213\351\233\252\345\275\261DDL\345\222\214DML\345\273\272\350\241\250\344\270\216\345\242\236\345\200\274.md" diff --git "a/39 \347\216\213\351\233\252\345\275\261/20230213 \347\216\213\351\233\252\345\275\261MySQL\345\256\211\350\243\205\347\254\224\350\256\260.md" "b/39 \347\216\213\351\233\252\345\275\261/20230213 \347\216\213\351\233\252\345\275\261MySQL\345\256\211\350\243\205\347\254\224\350\256\260.md" new file mode 100644 index 0000000..86c5e5a --- /dev/null +++ "b/39 \347\216\213\351\233\252\345\275\261/20230213 \347\216\213\351\233\252\345\275\261MySQL\345\256\211\350\243\205\347\254\224\350\256\260.md" @@ -0,0 +1,20 @@ +# 1、笔记 + + + +## 1.1如何安装数据库 + +在mysql网站上下载mysql5,7然后进入数据库安装界面。 + +下载完成后进入任务管理器点开服务界面,找到mysql服务将它设为自动并开启。 + +对此电脑右击进入属性选择高级管理进入环境变量中找到path变量将mysql路径输入C:\Program Files\MySQL\MySQL Server 5.7\bin。 + +使用win+r输入cmd进入管理员界面输入mysql出现以下代码表示安装成功 + +```sql +ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N +``` + +接着输入mysql -uroot -proot进入账户-p(后面输入的是你创建mysql时输入的密码) + diff --git "a/39 \347\216\213\351\233\252\345\275\261/20230215 \347\216\213\351\233\252\345\275\261MySQL\345\273\272\345\272\223\345\222\214\345\273\272\350\241\250\347\254\224\350\256\260.md" "b/39 \347\216\213\351\233\252\345\275\261/20230215 \347\216\213\351\233\252\345\275\261MySQL\345\273\272\345\272\223\345\222\214\345\273\272\350\241\250\347\254\224\350\256\260.md" new file mode 100644 index 0000000..fb311bf --- /dev/null +++ "b/39 \347\216\213\351\233\252\345\275\261/20230215 \347\216\213\351\233\252\345\275\261MySQL\345\273\272\345\272\223\345\222\214\345\273\272\350\241\250\347\254\224\350\256\260.md" @@ -0,0 +1,37 @@ +# 1、笔记 + +本节课讲了如何创建数据库、数据表与如何插入数据 + +## 1.1创建数据库代码 + +```sql +create database 数据库名 charset utf8; +``` + +## 1.2删除数据库 + +```sql +drop database 数据库名 +``` + +## 1.3创建数据表 + +```sql +create table 数据表名(id int,name varchar(m)); +``` + +# 2、作业 + +```sql +-- 数据库class3 +-- 表student +-- 字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 +-- 并新增一条自己的记录。 + +create database class3 charset utf8; +use class3; +create table student(id int,name varchar(10),sex enum('男','女'),aihao set('打代码','游戏'),zhuzhi varchar(20),dianhua char(11),email varchar(50),qq varchar(20),cxw varchar(20)); + +insert into student values(23,'陈欣威','男','打代码,游戏','学校',13295959733,'3434410096@qq.com',3434410096,'你好') +``` + diff --git "a/39 \347\216\213\351\233\252\345\275\261/20230220 \347\216\213\351\233\252\345\275\261DDL\345\222\214DML\345\273\272\350\241\250\344\270\216\345\242\236\345\200\274.md" "b/39 \347\216\213\351\233\252\345\275\261/20230220 \347\216\213\351\233\252\345\275\261DDL\345\222\214DML\345\273\272\350\241\250\344\270\216\345\242\236\345\200\274.md" new file mode 100644 index 0000000..13ebbec --- /dev/null +++ "b/39 \347\216\213\351\233\252\345\275\261/20230220 \347\216\213\351\233\252\345\275\261DDL\345\222\214DML\345\273\272\350\241\250\344\270\216\345\242\236\345\200\274.md" @@ -0,0 +1,263 @@ + + +# 笔记 + +## 1.1DDL + +### 创建数据库 + +```mysql +create database 数据库名 ; +create database 数据库名 charset 字符集; +``` + +### 查看所有的数据库 + +```mysql +show databases; #有一个s,代表多个数据库 +``` + +### 查看某个数据库的详细定义语句 + +```mysql +show create database 数据库名; +``` + +```mysql +show create database 数据库名\G +``` + +### 修改数据库编码 + +```mysql +#修改数据库字符集和校对规则 +ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称 COLLATE 字符集对应校对规则; +``` + +```mysql +ALTER DATABASE mxdx_chapter3_two CHARACTER SET utf8 COLLATE utf8_general_ci; +``` + +==**注意,**==修改数据库编码只会影响之后创建的表的默认编码,之前创建的表不会受影响。 + +### 删除数据库 + +```mysql +drop database 数据库名; +``` + +### 使用数据库 + +```mysql +use 数据库名; +``` + +# 作业 + + + +```mysql +—-- 1、创建数据库test01_market +CREATE database test01_market; +-- 2、创建表格customers +#| 字段名 | 数据类型 | +#| --------- | ----------- | +#| c_num | int(11) | +#| c_name | varchar(50) | +#| c_contact | varchar(50) | +#| c_city | varchar(50) | +#| c_birth | date | +CREATE TABLE customers( +c_num int(11), +c_name varchar(50), +c_contact varchar(50), +c_city varchar(50), +c_birth date +); + +-- **要求3:**将c_contact字段移动到c_birth字段后面 +ALTER TABLE customers MODIFY c_contact VARCHAR(50) AFTER c_brith; +-- **要求4:**将c_name字段数据类型改为 varchar(70) +ALTER TABLE customers MODIFY c_name VARCHAR(70); +-- **要求5:**将c_contact字段改名为c_phone +ALTER TABLE customers CHANGE c_name c_phone VARCHAR(50); +-- **要求6:**增加c_gender字段到c_name后面,数据类型为char(1) +ALTER TABLE customers ADD COLUMN c_gender char(1); +ALTER TABLE customers MODIFY c_gender char(1) AFTER c_name; +-- **要求7:**将表名改为customers_info +ALTER TABLE customers RENAME TO customers_info; +-- **要求8:**删除字段c_city +ALTER TABLE customers_info DROP COLUMN c_city; +## 第2题 + +#1、创建数据库test02_library +CREATE DATABASE test02_library; +USE test02_library; +#2、创建表格books +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 b_id int(11) not null; +-- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | +-- | ------- | -------- | ------------- | -------- | ---- | +-- | b_id | 书编号 | int(11) | 否 | 是 | +-- | b_name | 书名 | varchar(50) | 否 | 否 | +-- | authors | 作者 | varchar(100) | 否 | 否 | +-- | price | 价格 | float | 否 | 否 | +-- | pubdate | 出版日期 | year | 否 | 否 | +-- | note | 说明 | varchar(100) | 是 | 否 | +-- | num | 库存 | int(11) | 否 | 否 | + +#3、向books表中插入记录 +#1) 指定所有字段名称插入第一条记录 +INSERT INTO books(b_id,b_name,`authors`,price,pubdate,note,num)VALUE (1,'Tal of AAA','Dickes',23,1995,'novel',11); +SELECT*FROM books; +2)不指定字段名称插入第二记录 +INSERT INTO books VALUES(2,'EmmaT','Jane lura',35,1993,'joke',22); +3)同时插入多条记录(剩下的所有记录) +INSERT INTO books VALUES(3,'Story of Jane','Jane Tim',40,2001,'novel',0),(4,'Lovey Day','George Byron',20,2005,'novel',30),(5,'Old land',' Honore Blade',30,2010,'law',0),( 6,'The Battle','Upton Sara',30,1999,'medicine'40),(7,'Rose Hood','Richard haggard',28,2008,'cartoon',28); +-- | b_id | b_name | authors | price | pubdate | note | num | +-- | ---- | ------------- | --------------- | ----- | ------- | -------- | ---- | +-- | 1 | Tal of AAA | Dickes | 23 | 1995 | novel | 11 | +-- | 2 | EmmaT | Jane lura | 35 | 1993 | joke | 22 | +-- | 3 | Story of Jane | Jane Tim | 40 | 2001 | novel | 0 | +-- | 4 | Lovey Day | George Byron | 20 | 2005 | novel | 30 | +-- | 5 | Old land | Honore Blade | 30 | 2010 | law | 0 | +-- | 6 | The Battle | Upton Sara | 30 | 1999 | medicine | 40 | +-- | 7 | Rose Hood | Richard haggard | 28 | 2008 | cartoon | 28 | + +#4、将小说类型(novel)的书的价格都增加5。 +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; +SELECT*FROM books; +## 第3题 + +#1、创建数据库test03_bookstore +CREATE DATABASE test03_bookstore; +USE test03_bookstore; +#2、创建book表 +-- +----------+--------------+------+-----+---------+----------------+ +-- | Field | Type | Null | Key | Default | Extra | +-- +----------+--------------+------+-----+---------+----------------+ +-- | id | int(11) | NO | PRI | NULL | auto_increment | +-- | title | varchar(100) | NO | | NULL | | +-- | author | varchar(100) | NO | | NULL | | +-- | price | double(11,2) | NO | | NULL | | +-- | sales | int(11) | NO | | NULL | | +-- | stock | int(11) | NO | | NULL | | +-- | img_path | varchar(100) | NO | | NULL | | +-- +----------+--------------+------+-----+---------+----------------+ +CREATE TABLE book( +id int(11), +title varchar(100), +`authors` varchar(100), +price double(11,2), +sales int(11), +stock int(11), +ing_path varchar(100) +); +-- 尝试添加部分模拟数据,参考示例如下: +-- +----+-------------+------------+-------+-------+-------+----------------------------+ +-- | 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'),(2,'边城','沈从文',23.00,102,98,'upload/books/边城.jpg'); +SELECT * FROM book; +#3、创建用户表users,并插入数据 +-- +----------+--------------+------+-----+---------+----------------+ +-- | 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 | | +-- +----------+--------------+------+-----+---------+----------------+ +CREATE TABLE users( +id int(11), +username varchar(100), +`password` varchar(100), +email varchar(100) +); + +-- 尝试添加部分模拟数据,参考示例如下: +-- +----+----------+----------------------------------+--------------------+ +-- | id | username | password | email | +-- +----+----------+----------------------------------+--------------------+ +-- | 1 | admin | 112233 | admin@mxdx.com | +-- +----+----------+----------------------------------+--------------------+ +INSERT INTO users VALUES (1,'admin',112233,'admin@mxdx.com') ; +SELECT * FROM users; +-- 4、创建订单表orders +-- +--------------+--------------+------+-----+---------+-------+ +-- | 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) 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 +); +DESC orders; +尝试添加部分模拟数据,参考示例如下: +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | id | order_time | total_count | total_amount | state | user_id | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +-- | 15294258455691 | 2018-06-20 00:30:45 | 2 | 50.20 | 0 | 1 | +-- +----------------+---------------------+-------------+--------------+-------+---------+ +INSERT INTO orders VALUES(15294258455691,'2018-06-20 00:30:45',2,50.20,0,1); + +-- 5、创建订单明细表order_items +-- +----------+--------------+------+-----+---------+----------------+ +-- | 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(11) UNSIGNED auto_increment PRIMARY KEY NOT NULL, +count INT (11) NOT NULL, +amount DOUBLE(11,2) NOT NULL, +title VARCHAR(100) NOT NULL, +`author` varhcar(100) NOT NULL, +price DOUBLE(11,2) NOT NULL, +img_path VARCHAR(100) NOT NULL, +order_id VARCHAR(100) NOT NULL +); +DESC order_items; +-- 尝试添加部分模拟数据,参考示例如下: +-- +----+-------+--------+---------+---------+-------+----------------+----------------+ +-- | 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),(2,1,23.00,'边城','沈从文',23.00,'static/img/default.jpg',15294258455691); +SELECT * FROM order_items; +``` + -- Gitee