From 3e19c987b5154b1e8400d4772fb4b89c3f84d7df Mon Sep 17 00:00:00 2001 From: unknown <1211012311@qq.com> Date: Sun, 19 Feb 2023 16:30:14 +0800 Subject: [PATCH] =?UTF-8?q?0218=E8=B0=A2=E9=BE=99=E5=B3=B0=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E5=92=8C=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...55\345\217\245\347\273\203\344\271\240.md" | 365 ++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 "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" 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/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" new file mode 100644 index 0000000..a06c8c2 --- /dev/null +++ "b/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" @@ -0,0 +1,365 @@ +# 一、笔记 + +## 1、DDL语句 + + + +```sql +#1、数据库的查看: +show databases; + +#2、创建自己的数据库: +create database ikun(数据库名称); + +#3、删除自己的数据库: +drop database ikun(数据库名称); + +#4、查看某个数据库的详细定义: +show create database ikun(数据库名称); + +#5、修改数据库的编码: +alter database 数据库名称 character set 新的字符集名称 collate 校对规则(如utf8); +``` + +## 1)、校对规则 可以理解成排序规则 + +```sql +#如: +alter database ikun charset utf8; + +#一般先要指定在哪个数据库中堆表进行操作 +#使用哪个数据库 +use 数据库名 + +#查看当前数据库下面: +show tables; +``` + +## 2)、当前数据库下面,查看另一个数据库下面,当前用户可以查看的表有哪些 + +```sql +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; +``` + +## 3)、有关表的修改的各种操作 + +```sql +#修改表的字符集合校对规则 +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; +``` + +## 1、DML语句 + +1)、增删改 + +```sql +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; +``` + + + +# 2、作业 + +## 作业1 + +```sql +-- 创建数据库test01_market +create database test01_market + +-- 创建表格customers +create table customers( +c_num int, +c_name VARCHAR(50), +c_contact VARCHAR(50), +c_city VARCHAR(50), +c_birth VARCHAR(50) +); + +-- 将c_contact字段移动到c_birth字段后面 +ALTER TABLE customers MODIFY c_contact VARCHAR(50) AFTER c_birth; + +-- 将c_name字段数据类型改为 varchar(70) +ALTER TABLE customers MODIFY COLUMN 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; + +-- 将表名改为 +ALTER TABLE customers RENAME TO customers_info; + +-- 删除字段c_city +ALTER TABLE customers_info DROP c_city; +``` + +## 作业2 + +```sql +-- 创建数据库test02_library +create database test02_library + +-- 创建表格books +create TABLE books( +b_id int(11), +b_name VARCHAR(50), +authors VARCHAR(50), +price float, +pubdate year, +note VARCHAR(100), +num INT(11) +); +ALTER TABLE books MODIFY b_id int(11) not NULL; +ALTER TABLE books MODIFY b_name VARCHAR(50) not null; +ALTER TABLE books MODIFY authors VARCHAR(50) not null; +ALTER TABLE books MODIFY price float not null; +ALTER TABLE books MODIFY pubdate year not null; +ALTER TABLE books MODIFY num INT(11) not null; +Alter Table books Add Primary Key(b_id); +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(50) 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 '库存'; +``` + +![image-20230218140424295](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218140424295.png) + +```sql +-- 向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(5,'Old land','Honore Blade',24,1995,'novel',63), + (6,'The Battle','Upton Sara',30,1989,'novel',13), + (7,'Rose Hood','Richard haggard',28,2005,'novel',13); + +-- 将小说类型(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; +``` + +## 作业3 + +```sql +-- 创建book表 +CREATE TABLE book( +id int(11) NOT NULL, +title VARCHAR(100) NOT NULL, +author VARCHAR(100) NOT NULL, +price DOUBLE(11,2) NOT NULL, +salse int(11) NOT NULL, +stock int(11) NOT NULL, +img_path VARCHAR(100) NOT NULL +) +Alter Table book Add Primary Key(id); +ALTER TABLE book MODIFY title VARCHAR(50); +-- 尝试添加部分模拟数据 +INSERT INTO book VALUES(1,'解忧杂货铺','东野圭吾',27.20 ,102,98,'upload/books/解忧杂货店.jpg'), +(2,'边城','沈从文',27.20 ,102,98,'upload/books/解忧杂货店.jpg'); + +-- 创建用户表users,并插入数据 +CREATE TABLE users( +id int(11), +username VARCHAR(100), +password VARCHAR(100), +email VARCHAR(100) +) +ALTER TABLE users MODIFY id int(11) NOT NULL; +ALTER TABLE users MODIFY username VARCHAR(100) NOT NULL; +ALTER TABLE users MODIFY password VARCHAR(100) NOT NULL; +Alter Table users Add Primary Key(id); +Alter Table users Add unique key(username); +-- 尝试添加部分模拟数据 +INSERT INTO users VALUES(1,'admin','112233','admin@mxdx.com'); +show full columns from orders; + +-- 创建订单表orders +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 +) +ALTER TABLE orders ADD PRIMARY KEY (id); +ALTER TABLE orders ADD UNIQUE KEY (user_id); +-- 尝试添加部分模拟数据 +INSERT INTO orders VALUES(15294258455691,'2018-06-20 00:30;45',2,50.20,0,1); + +-- 创建订单明细表order_items +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 +) +ALTER TABLE order_items ADD PRIMARY KEY(id); +ALTER TABLE order_items ADD UNIQUE KEY(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','15294258455692'); +``` + +# 作业4 + +```sql +-- 数据库class3 +CREATE DATABASE class3; + +-- 表student +CREATE TABLE student( +`学号` INT, +`姓名` CHAR(5), +`性别` CHAR(1), +`爱好` VARCHAR(20), +`住址` VARCHAR(100), +`联系方式` VARCHAR(20), +`邮箱` VARCHAR(20), +`QQ号` VARCHAR(20) +) + +-- 并新增一条自己的记录。 +INSERT INTO student VALUES(15,'谢龙峰','男','ikun','团结里','13626090658','1211012311@QQ.COM','1211012311'); +``` + + + +### 作业3第一小题 + +![image-20230218160052611](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160052611.png) + +![image-20230218160253461](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160253461.png) + +### 作业3第二小题 + +![image-20230218160111387](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160111387.png) + +![image-20230218160423569](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160423569.png) + +### 作业3第三小题 + +![image-20230218160130662](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160130662.png) + +![image-20230218160525426](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160525426.png) + +### 作业3第四小题 + +![image-20230218160157514](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160157514.png) + +![image-20230218160617525](C:\Users\Administrator.DESKTOP-D8B8N9S\AppData\Roaming\Typora\typora-user-images\image-20230218160617525.png) \ No newline at end of file -- Gitee