diff --git "a/14 \351\231\210\346\226\260\346\210\220/20230213 \347\231\273\345\275\225.md" "b/14 \351\231\210\346\226\260\346\210\220/20230213 \347\231\273\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..d0a284e8c35ae3a6524daffafe2e2df16adcb1db --- /dev/null +++ "b/14 \351\231\210\346\226\260\346\210\220/20230213 \347\231\273\345\275\225.md" @@ -0,0 +1,18 @@ +```sql +# 登录方式1 +mysql -u 用户名 -p密码; + +# 登录方式2 +mysql -u 用户名 -p +密码 +``` + + + +# 笔记 + +1. 数据库 :DataBase +2. 数据库管理系统:DBMS +3. 表格 : table +4. 关系型数据库管理系统: MySQL + diff --git "a/14 \351\231\210\346\226\260\346\210\220/20230215 \350\207\252\346\210\221\344\273\213\347\273\215.md" "b/14 \351\231\210\346\226\260\346\210\220/20230215 \350\207\252\346\210\221\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..0cb74a05657e423ce545cda040b79b81a9622cb0 --- /dev/null +++ "b/14 \351\231\210\346\226\260\346\210\220/20230215 \350\207\252\346\210\221\344\273\213\347\273\215.md" @@ -0,0 +1,28 @@ +```sql +create database class4 character utf8; + +use class4; + +CREATE TABLE `student` ( + + `学号` char(10) , + + `姓名` varchar(4) , + + `性别` char(1) , + + `爱好` text, + + `地址` varchar(20) , + + `联系方式` char(11) , + + `邮箱` varchar(20) , + + `QQ号` char(10) + +) ; + +INSERT INTO `student` VALUES ('2244310114','陈新成','男','下棋','福建莆田','13313966039','esqqqg@163.com','853230749'); +``` + diff --git "a/14 \351\231\210\346\226\260\346\210\220/20230217 Mysql\347\232\204\344\275\234\344\270\232.md" "b/14 \351\231\210\346\226\260\346\210\220/20230216 DDL\345\222\214DML\347\254\224\350\256\260.md" similarity index 83% rename from "14 \351\231\210\346\226\260\346\210\220/20230217 Mysql\347\232\204\344\275\234\344\270\232.md" rename to "14 \351\231\210\346\226\260\346\210\220/20230216 DDL\345\222\214DML\347\254\224\350\256\260.md" index e342449ae9d6ad6f130d07384718c6f668b3378f..b8ed4181f26099388e32f59f93ee6cfd502b71d1 100644 --- "a/14 \351\231\210\346\226\260\346\210\220/20230217 Mysql\347\232\204\344\275\234\344\270\232.md" +++ "b/14 \351\231\210\346\226\260\346\210\220/20230216 DDL\345\222\214DML\347\254\224\350\256\260.md" @@ -1,21 +1,90 @@ +## DDL 数据定义语言 -# 作业 +1. 创建 :create +2. 删除 :DROP +3. 修改: ALTER +4. 查询表结构: DESC +5. 展示:show + +## DML 数据操作语言 + +1. 增加:insert +2. 修改:update +3. 删除:delete + +## DQL 数据查询语言 + +1. select + +## DCL 数据控制语言 + +1. 授权: grant +2. 确认: commit +3. 回滚: rollback + +## 数据类型 + +1. 整数:int + + 1. ```sql + create table t_int( + i1 int, + i2 int(2) #没有unsigned zerofill,(2)没有意义 + ); + ``` + +2. 字符串(固定长度):char + +3. 字符串(不固定长度):varchar + +4. 单浮点型:float + +5. 双浮点型:double + +6. 定点数: decimal + +7. 时间类型 + + 1. date + 2. datetime + 3. time + 4. year + 5. timrstamp + +## DDL的操作 + +```sql +show databases charset utf8; #查询自己所有数据库 +create database 数据库名; #创造一个数据库 +use 数据库名; #进入数据库 +drop database 数据库名; #删除数据库 +show create database 数据库名; #查询数据库详细信息 +alter database 数据库名 character set 新的字符集名称 ; #修改数据库的编码 +desc 表名称; #查询表结构 +ALTER TABLE 表名称 ADD 字段名 数据类型; #增加一个字段 +ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型; #修改一个字段名称 +ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER\FIRST 另一个字段; #修改字段的位置 +#当输入“FIRST”时不用加另一个字段他会返回第一个位置 +ALTER TABLE 表名称 RENAME TO 新名称; #重命名表 +``` + +## DML的操作 + +```sql +alter table 字段名 rename to 新字段名; #修改字段名 +UPDATE 表名称 SET 字段名 = 值 where 条件; #修改里面已经有的数据 +DELETE FROM 表名称; #删除整个表的数据 +UPDATE stu SET name=NULL; #删除weight列的数据 +ALTER TABLE stu DROP name; #删除weight列的定义 +``` + + + +# 2.作业 ```sql -create database class4 character utf8; -use class4; -CREATE TABLE `student` ( - `学号` char(10) , - `姓名` varchar(4) , - `性别` char(1) , - `爱好` text, - `地址` varchar(20) , - `联系方式` char(11) , - `邮箱` varchar(20) , - `QQ号` char(10) -) ; -INSERT INTO `student` VALUES ('2244310407','陈新成','男','下棋','福建莆田','17750339005','asgjg@163.com','2511976689'); + *| 字段名 | 数据类型 | *| --- | --- | diff --git "a/14 \351\231\210\346\226\260\346\210\220/2023.2.20\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" "b/14 \351\231\210\346\226\260\346\210\220/20230220 \347\272\246\346\235\237\347\254\224\350\256\260.md" similarity index 90% rename from "14 \351\231\210\346\226\260\346\210\220/2023.2.20\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" rename to "14 \351\231\210\346\226\260\346\210\220/20230220 \347\272\246\346\235\237\347\254\224\350\256\260.md" index 965e05ced24da3cd8887218f04119cac899da2c6..2547aa76adccd8a440e637a4b4d499e82ff2d024 100644 --- "a/14 \351\231\210\346\226\260\346\210\220/2023.2.20\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" +++ "b/14 \351\231\210\346\226\260\346\210\220/20230220 \347\272\246\346\235\237\347\254\224\350\256\260.md" @@ -1,4 +1,24 @@ -# 作业 +# 1.约束 + +1. 非空 :not null + +2. 唯一:可空、不重复、一个表可以有多个 + + unique + +3. 主键: 不可空、不重复、一个表只能有一个主键 + + primary + +4. 默认:当not null **default** 不给值时会自动选择默认填 + +5. 自增:auto_incremnet + +6. 外键: foreign key(本表要关联的字段名) refernces 主表名(主表的主键字段名) + + + +# 2.作业 ```sql create database test01_company; @@ -57,19 +77,19 @@ insert into pet values ('Fluffy','harold','Cat','f',2003,2010),('Claws','gwen',' alter table pet add owner_birth datetime ; -- 将名称为Claws的猫的主人改为kevin -update pet set owner='kevin' where name='Claws'; +update pet set owner='kevin' where name='Claws' and species='Cat'; -- 将没有死的狗的主人改为duck -update pet set owner='duck' where death is Null; +update pet set owner='duck' where death is Nulland species='Dog'; -- 将没有死的狗的主人改为duck -select name from pet where owner is null; +select name from pet where owner is null and species='Dog'; -- 查询已经死了的cat的姓名,主人,以及去世时间; select name ,owner, death from pet where death is not null and species='Cat'; -- 删除已经死亡的狗 -delete from pet where death is not null ; +delete from pet where death is not null and species='Dog' ; -- 查询所有宠物信息 select *from pet; diff --git "a/14 \351\231\210\346\226\260\346\210\220/2023-02-22 \344\275\234\344\270\232.md" "b/14 \351\231\210\346\226\260\346\210\220/20230222 select.md" similarity index 100% rename from "14 \351\231\210\346\226\260\346\210\220/2023-02-22 \344\275\234\344\270\232.md" rename to "14 \351\231\210\346\226\260\346\210\220/20230222 select.md" diff --git "a/14 \351\231\210\346\226\260\346\210\220/20230223 \345\244\232\350\241\250\345\205\263\350\201\224\346\237\245\350\257\242\347\232\204\345\255\246\344\271\240.md" "b/14 \351\231\210\346\226\260\346\210\220/20230223 \345\244\232\350\241\250\345\205\263\350\201\224\346\237\245\350\257\242\347\232\204\345\255\246\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..48cf5e8be7fa0b1eb367a73ffd013646a6596703 --- /dev/null +++ "b/14 \351\231\210\346\226\260\346\210\220/20230223 \345\244\232\350\241\250\345\205\263\350\201\224\346\237\245\350\257\242\347\232\204\345\255\246\344\271\240.md" @@ -0,0 +1,35 @@ +# 1.关联查询 + +内连接 inner + +```sql +select * from 表名a inner join 表名b +-- 无条件时 a表会 直接 衔接b表 A1 - A2(1) +select * from 表名a inner join 表名b on a.表字段 = b.表字段 (关联字段) +-- 有条件时 a表会 对应的 衔接b表 A1 - A1(1) +``` + +左 / 右连接 left/right + +```sql +select * from 表名a left join 表名b On 条件 +-- 在a表的基础上 显示 b表与a表关联的字段 A1 - A1(1) +select * from 表名a right join 表名b On 条件 +-- 在b表的基础上 显示 b表与a表关联的字段 A1(1) - A1 +``` + +union + +```sql +SELECT * from teacher a left join department b on a.DepNo = b.DepNo UNION SELECT * from teacher a right join department b on a.DepNo = b.DepNo +-- 查询结果A union 查询结果b =查询全表 +``` + +# 2.联合查询 + +```sql +select 字段,b表.字段 from 表名a inner join 表名b On 条件 +例句 --查询表a的全部信息和表b的depname,depnote +SELECT *,department.DepName,depnote from teacher inner join department on teacher.DepNo = department.DepNo +``` + diff --git "a/14 \351\231\210\346\226\260\346\210\220/DDL DML\347\254\224\350\256\260.md" "b/14 \351\231\210\346\226\260\346\210\220/DDL DML\347\254\224\350\256\260.md" deleted file mode 100644 index 5ca5151b1a372d4b49ab32a58789086fa7cdde00..0000000000000000000000000000000000000000 --- "a/14 \351\231\210\346\226\260\346\210\220/DDL DML\347\254\224\350\256\260.md" +++ /dev/null @@ -1,77 +0,0 @@ -# 笔记 - -1. 数据库 :DataBase -2. 数据库管理系统:DBMS -3. 表格 : table -4. 关系型数据库管理系统: MySQL - -## DDL 数据定义语言 - -1. 创建 :create -2. 删除 :DROP -3. 修改: ALTER -4. 查询表结构: DESC -5. 展示:show - -## DML 数据操作语言 - -1. 增加:insert -2. 修改:update -3. 删除:delete - -## DQL 数据查询语言 - -1. select - -## DCL 数据控制语言 - -1. 授权: grant -2. 确认: commit -3. 回滚: rollback - -## 数据类型 - -1. 整数:int - 1. create table t_int( - i1 int, - i2 int(2) #没有unsigned zerofill,(2)没有意义 - ); -2. 字符串(固定长度):char -3. 字符串(不固定长度):varchar -4. 单浮点型:float -5. 双浮点型:double -6. 定点数: decimal -7. 时间类型 - 1. date - 2. datetime - 3. time - 4. year - 5. timrstamp - -## DDL的操作 - -```sql -show databases charset utf8; #查询自己所有数据库 -create database 数据库名; #创造一个数据库 -use 数据库名; #进入数据库 -drop database 数据库名; #删除数据库 -show create database 数据库名; #查询数据库详细信息 -alter database 数据库名 character set 新的字符集名称 ; #修改数据库的编码 -desc 表名称; #查询表结构 -ALTER TABLE 表名称 ADD 字段名 数据类型; #增加一个字段 -ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型; #修改一个字段名称 -ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER\FIRST 另一个字段; #修改字段的位置 -#当输入“FIRST”时不用加另一个字段 -ALTER TABLE 表名称 RENAME TO 新名称; #重命名表 -``` - -## DML的操作 - -```sql -alter table 字段名 rename to 新字段名; #修改字段名 -UPDATE 表名称 SET 字段名 = 值 where 条件; #修改里面已经有的数据 -DELETE FROM 表名称; #删除整个表的数据 -UPDATE stu SET name=NULL; #删除weight列的数据 -ALTER TABLE stu DROP name; #删除weight列的定义 -``` - diff --git "a/14 \351\231\210\346\226\260\346\210\220/\347\272\246\346\235\237\347\254\224\350\256\260.md" "b/14 \351\231\210\346\226\260\346\210\220/\347\272\246\346\235\237\347\254\224\350\256\260.md" deleted file mode 100644 index 60f23d9145d88623351ee382302a26a91a5fa469..0000000000000000000000000000000000000000 --- "a/14 \351\231\210\346\226\260\346\210\220/\347\272\246\346\235\237\347\254\224\350\256\260.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 约束 - -1. 非空 :not null - -2. 唯一:可空、不重复、一个表可以有多个 - - unique - -3. 主键: 不可空、不重复、一个表只能有一个主键 - - primary - -4. 默认:当not null **default** 不给值时会自动选择默认填 - -5. 自增:auto_incremnet - -6. 外键: foreign key(本表要关联的字段名) refernces 主表名(主表的主键字段名) \ No newline at end of file