From 593668154b8aa241a16392e223a7d3d7d90e91ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E9=94=90?= <2570878950@qq.com> Date: Sat, 18 Feb 2023 00:54:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...60\346\215\256\347\261\273\345\236\213.md" | 945 ++++++++++++++++++ ...0\346\254\241\344\275\234\344\270\232.jpg" | Bin 0 -> 179196 bytes 2 files changed, 945 insertions(+) create mode 100644 "20230215 SQL\350\257\255\345\217\245,\346\225\260\346\215\256\347\261\273\345\236\213.md" create mode 100644 "\345\233\276\347\211\207/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.jpg" diff --git "a/20230215 SQL\350\257\255\345\217\245,\346\225\260\346\215\256\347\261\273\345\236\213.md" "b/20230215 SQL\350\257\255\345\217\245,\346\225\260\346\215\256\347\261\273\345\236\213.md" new file mode 100644 index 0000000..47680fd --- /dev/null +++ "b/20230215 SQL\350\257\255\345\217\245,\346\225\260\346\215\256\347\261\273\345\236\213.md" @@ -0,0 +1,945 @@ +# 第4章 SQL语句 + +SQL:结构化查询语言,(Structure Query Language),专门用来操作/访问数据库的通用语言。 + +## 4.1 SQL的分类 + +| 名称 | 解释 | 命令 | +|:-------------:|:-----------------------:|:----------------------------------------:| +| DDL (数据定义语言) | 定义和管理数据对象结构,如数据库,数据表等 | 创建(create),修改(alter),删除(drop) show(展示)结构 | +| DML (数据操作语言) | 用于操作数据库对象中所包含的数据 | 增(insert),删(delete),改(update) 数据 | +| DQL (数据查询语言) | 用于查询数据库数据 | 查(select) | +| DCL (数据控制语 言) | 用于管理数据库的语言,包括管理权限及数 据更改 | grant(授权),commit(确认),rollback(回滚) | + +其他语句:USE语句,SHOW语句,SET语句等。这类的官方文档中一般称为命令。 + +## 4.2 SQL语法规范 + +(1)mysql的sql语法不区分大小写 + +- A:数据库的表中的数据是否区分大小写。这个的话要看表格的字段的数据类型、编码方式以及校对规则。 + +​ ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)create database Mxdx.linux show create database mxdx; + +- B:sql中的关键字,比如:create,insert等,不区分大小写。但是大家习惯上把关键字都“**大写**”。 + +(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号 + +(3)建议不要使用mysql的关键字等来作为**表名、字段名、数据库**名等,如果不小心使用,请在SQL语句中使用`(飘号/反引号)引起来,说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面的键) + +(4)数据库和表名、字段名等对象名中间不要包含空格 + +```mysql +create database my mxdx; + +ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mxdx' at line 1 +``` + +(5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名 + +```mysql +mysql> show databases; ++--------------------+ +| Database | ++--------------------+ +| information_schema | +| mxdx | +| mysql | +| performance_schema | +| sys | ++--------------------+ +5 rows in set (0.00 sec) + +mysql> create database mxdx; +ERROR 1007 (HY000): Can't create database 'mxdx'; database exists +``` + +```mysql +mysql> show tables; ++---------------------+ +| Tables_in_mxdx | ++---------------------+ +| student | +| temp | ++---------------------+ +2 rows in set (0.00 sec) + +mysql> create table temp(id int); +ERROR 1050 (42S01): Table 'temp' already exists +``` + +``` +mysql> create table tt( + -> id int, + -> id int + -> ); +ERROR 1060 (42S21): Duplicate(重复) column name 'id' +``` + +## 4.3 SQL脚本中如何加注释 + +SQL脚本中如何加注释 + +- 单行注释:#注释内容(mysql特有的) + +- 单行注释:--空格注释内容 其中--后面的空格必须有 + +- 多行注释:/* 注释内容 */ + +```mysql +create table tt( + id int, #编号 + `name` varchar(20), -- 姓名 + gender enum('男','女') + /* + 性别只能从男或女中选择一个, + 不能两个都选,或者选择男和女之外的 + */ +); +``` + +## 4.4 mysql脚本中的标点符号 + +mysql脚本中标点符号的要求如下: + +1. 本身成对的标点符号必须成对,例如:(),'',""。 + +2. 所有标点符号必须英文状态下半角输入方式下输入。 + +几个特殊的标点符号: + +1. 小括号(): + + - 在创建表、添加数据、函数使用、子查询、计算表达式等等会用()表示某个部分是一个整体结构。 + - 思考: 2+3 * 6 =20 和 (2+3) * 6 =30的区别 + +2. 单引号'':**字符串和日期类型的数据值使用单引号''引起来**,数值类型的不需要加标点符号。 + +3. “2023-10--10” + +4. 双引号"":列的别名可以使用引号"",**给表名取别名不要用引号**。 + +5. 在MySQL中双引号通常等价于单引号 + +```sql +create table tt( + id int + ; + +ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 +``` + +```mysql +create table temp( + c char +); +insert into temp values('尚) ; #缺一半单引号 + +insert into temp values(‘尚’) ; #标点符号是中文 +``` + +```mysql +mysql> select * from student; ++------+------+ +| id | name | ++------+------+ +| 1 | 张三 | +| 2 | 李四 | ++------+------+ +2 rows in set (0.00 sec) + +mysql> select id "学号",name "姓名" from student; ++------+------+ +| 学号 | 姓名 | ++------+------+ +| 1 | 张三 | +| 2 | 李四 | ++------+------+ +2 rows in set (0.00 sec) +``` + +# 第5章 MySQL支持的数据类型 + +## 5.1 数值类型:包括整数和小数 + +数值类型主要用来存储数字,不同的数值类型提供不同的取值范围,可以存储的值范围越大,所需要的存储空间也越大。 + +对于MySQL中的数值类型,还要做如下说明: + +- 关键字INT是INTEGER的同义词。 +- 关键字DEC和FIXED是DECIMAL的同义词。 + +### 5.1.1 整数类型 + +![image-20211127205706588](第4章 SQL语句.assets/image-20211127205706588.png) + +**说明:** + +对于整数类型,MySQL还支持在类型名称后面加小括号(M),而小括号中的M表示显示宽度,M的取值范围是(0, 255)。int(M)这个M在字段的属性中指定了unsigned(无符号)和zerofill(零填充)的情况下才有意义。表示当整数值不够M位时,用0填充。如果整数值超过M位但是没有超过当前数据类型的范围时,就按照实际位数存储。当M宽度超过当前数据类型可存储数值范围的最大宽度时,也是以实际存储范围为准。 + +```mysql +#演示整数类型 +#创建一个表格,表格的名称“t_int”, +#包含两个字段i1和i2,分别是int和int(2)类型 +#create table t_int(i1 int,i2 int(2)); +create table t_int( + i1 int, + i2 int(2) #没有unsigned zerofill,(2)没有意义 +); + +#查看当前数据库的所有表格 +show tables; +show tables from 数据库名; + +#查看表结构 +desc 表名称; +desc t_int; + +mysql> desc t_int; ++-------+------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------+------+------+-----+---------+-------+ +| i1 | int | YES | | NULL | | +| i2 | int | YES | | NULL | | ++-------+------+------+-----+---------+-------+ +2 rows in set (0.01 sec) + +#创建一个表格,表格的名称“t_int2”, +#包含两个字段i1和i2,分别是int和int(2)类型 +create table t_int2( + i1 int, + i2 int(2) unsigned zerofill +); + +mysql> desc t_int2; ++-------+--------------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------+--------------------------+------+-----+---------+-------+ +| i1 | int | YES | | NULL | | +| i2 | int(2) unsigned zerofill | YES | | NULL | | ++-------+--------------------------+------+-----+---------+-------+ +2 rows in set (0.01 sec) + +#添加数据到表格中 +insert into 表名称 values(值列表); +insert into t_int values(1234,1234); +insert into t_int2 values(1234,1234); + +#查询数据 +select * from 表名称; +select * from t_int; +select * from t_int2; + +#添加数据到表格中 +insert into 表名称 values(值列表); +insert into t_int values(1,1); +insert into t_int2 values(1,1); + +insert into t_int values(12222228854225548778455,12222228854225548778455); +mysql> insert into t_int values(12222228854225548778455,12222228854225548778455); +ERROR 1264 (22003): Out of range value for column 'i1' at row + +``` + +### 5.1.2 小数类型 + +MySQL中使用浮点数和定点数来表示小数。 + +浮点数有两种类型:单精度浮点数(FLOAT)和双精度浮点数(DOUBLE),定点数只有DECIMAL。浮点数和定点数都可以用(M,D)来表示。 + +- M是精度,表示该值总共显示M位,包括整数位和小数位,对于FLOAT和DOUBLE类型来说,M取值范围为0~255,而对于DECIMAL来说,M取值范围为0~65。 +- D是标度,表示小数的位数,取值范围为0~30,同时必须<=M。 + +DECIMAL实际是以字符串形式存放的,在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL类型会比较好。浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的数据范围,它的缺点是会引起精度问题。 + +![image-20211127210358326](第4章 SQL语句.assets/image-20211127210358326.png) + +```mysql +#演示小数类型 +#创建表格 +create table t_double( + d1 double, + d2 double(5,2) #-999.99~999.99 +); + +#查看表结构 +desc t_double; + +#添加数据 +insert into t_double values(2.5,2.5); + +#查看数据 +select * from t_double; +mysql> select * from t_double; ++------+------+ +| d1 | d2 | ++------+------+ +| 2.5 | 2.50 |#d2字段小数点后不够2位用0补充 ++------+------+ +1 row in set (0.00 sec) + +#添加数据 +insert into t_double values(2.5526,2.5526); +insert into t_double values(2.5586,2.5586); + +mysql> select * from t_double; ++--------+------+ +| d1 | d2 | ++--------+------+ +| 2.5 | 2.50 | +| 2.5526 | 2.55 |#小数点后有截断现象,并且会四舍五入 +| 2.5586 | 2.56 |#小数点后有截断现象,并且会四舍五入 ++--------+------+ +3 rows in set (0.00 sec) + + +#添加数据 +insert into t_double values(12852.5526,12852.5526); + +#d2字段整数部分超过(5-2=3)位,添加失败 +mysql> insert into t_double values(12852.5526,12852.5526); +ERROR 1264 (22003): Out of range value for column 'd2' at row 1 + + +#创建表格 +create table t_decimal( + d1 decimal, #没有指定(M,D)默认是(10,0) + d2 decimal(5,2) +); + + +#查看表结构 +desc t_decimal; +mysql> desc t_decimal; ++-------+---------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------+---------------+------+-----+---------+-------+ +| d1 | decimal(10,0) | YES | | NULL | | +| d2 | decimal(5,2) | YES | | NULL | | ++-------+---------------+------+-----+---------+-------+ +2 rows in set (0.01 sec) + +#添加数据 +insert into t_decimal values(2.5,2.5); + +#查看数据 +select * from t_decimal; +mysql> select * from t_decimal; ++------+------+ +| d1 | d2 | ++------+------+ +| 3 | 2.50 | #d1字段小数点后截断 ++------+------+ +1 row in set (0.00 sec) + +insert into t_decimal values(12852.5526,12852.5526); + +-- 把小数赋值给整数类型的字段时,会截断小数部分,考虑四舍五入 +insert into t_int2 values(1.5,1.5); +``` + +## 5.2 字符串类型 + +MySQL的字符串类型有CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET等。MySQL的字符串类型可以用来存储文本字符串数据,还可以存储二进制字符串。 + +文本字符串类型: + +![image-20211127210547156](第4章 SQL语句.assets/image-20211127210547156.png) + +二进制字符串类型: + +![image-20211127210608685](第4章 SQL语句.assets/image-20211127210608685.png) + +### 1、CHAR(M)为固定长度的字符串 + +CHAR(M)为固定长度的字符串, M表示最多能存储的字符数,取值范围是0~255个字符,如果未指定(M)表示只能存储1个字符。例如CHAR(4)定义了一个固定长度的字符串列,其包含的字符个数最大为4,如果存储的值少于4个字符,右侧将用空格填充以达到指定的长度,当查询显示CHAR值时,尾部的空格将被删掉。 + +```mysql +create table temp( + c1 char, + c2 char(3) +); +``` + +```mysql +insert into temp values('男','女');#成功 + +insert into temp values('桃花岛','桃花岛');#失败 +ERROR 1406 (22001): Data too long for column 'c1' at row 1 + +insert into temp values('男','桃花岛');#成功 +``` + +### 2、VARCHAR(M)为可变长度的字符串 + +- M表示最多能存储的字符数,最大范围由字符集及M共同决定 +- M不可缺省,必须指定(M),否则报错。 +- 实际长度达不到M值时,以实际长度为准。 +- VARBINARY类型的数据除了存储数据本身外,还需要1或2个字节来存储数据的字节数。 + +```mysql +create table temp( + name varchar #错误 +); +``` + +```mysql +create table temp( + name varchar(3) #最多不超过3个字符 +); +``` + +```mysql +insert into temp values('桃花岛'); + +insert into temp values('桃花岛真好');#ERROR 1406 (22001): Data too long for column 'name' at row 1 + +insert into temp values('好'); +``` + +```mysql +drop table temp; +create table temp( + name varchar(65535) +); +#ERROR 1074 (42000): Column length too big for column 'name' (max = 21845); use BLOB or TEXT instead +因为当前的表是UTF8,一个汉字占3个字节 +``` + +![image-20211127210826463](第4章 SQL语句.assets/image-20211127210826463.png) + +**使用场景**: + +- 身份证号、手机号码、QQ号、用户名username、密码password、银行卡号等固定长度的文本字符串适合使用CHAR类型; +- 评论、朋友圈、微博不定长度的文本字符串更适合使用VARCHAR类型。 + +## 5.3 日期时间类型 + +![image-20211127212047635](第4章 SQL语句.assets/image-20211127212047635.png) + +- 如果仅仅是表示年份信息,可以只使用YEAR类型,这样更节省空间,格式为“YYYY”,例如“2022”。YEAR允许的值范围是1901~2155。 +- 如果要表示年月日,可以使用DATE类型,格式为“YYYY-MM-DD”,例如“2022-02-04”。 +- 如果要表示时分秒,可以使用TIME类型,格式为“HH:MM:SS”,例如“10:08:08”。 +- 如果要表示年月日时分秒的完整日期时间,可以使用DATATIME类型,格式为“YYYY-MM-DD HH:MM:SS”,例如“2022-02-04 10:08:08”。 +- 如果需要经常插入或更新日期时间为系统日期时间,则通常使用TIMESTAMP类型,格式为“YYYY-MM-DD HH:MM:SS”,例如“2022-02-04 10:08:08”。TIMESTAMP与DATETIME的区别在于TIMESTAMP的取值范围小,只支持1970-01-01 00:00:01 UTC至2038-01-19 03:14:07 UTC范围的日期时间值,其中UTC是世界标准时间,并且TIMESTAMP类型的日期时间值在存储时会将当前时区的日期时间值转换为时间标准时间值,检索时再转换回当前时区的日期时间值,这会更友好。而DATETIME则只能反映出插入时当地的时区,其他时区的人查看数据必然会有误差的。另外,TIMESTAMP的属性受MySQL版本和服务器SQLMode的影响很大。 + +```mysql +create table temp( + d1 datetime, + d2 timestamp +); +``` + +```mysql +insert into temp values('2021-9-2 14:45:52','2021-9-2 14:45:52'); +``` + +```mysql +#修改当前的时区 +set time_zone = '+9:00'; +``` + +```mysql +insert into temp values('202192144552','202192144552'); +#ERROR 1292 (22007): Incorrect datetime value: '202192144552' for column 'd1' at row 1 +``` + +```mysql +insert into temp values('20210902144552','20210902144552'); +``` + +```mysql +insert into temp values('2021&9&2 14%45%52','2021#9#2 14@45@52'); +``` + +```mysql +create table temp( + d year +); +``` + +```mysql +insert into temp values(2021); +insert into temp values(85); +insert into temp values(22); +insert into temp values(69); +insert into temp values(0); +insert into temp values('0'); +``` + +```mysql +mysql> select * from temp; ++------+ +| d | ++------+ +| 2021 | +| 1985 | +| 2022 | ++------+ +3 rows in set (0.00 sec) +``` + +## 5.4 Enum和Set类型 + +无论是数值类型、日期类型、普通的文本类型,可取值的范围都非常大,但是有时候我们指定在固定的几个值范围内选择一个或多个,那么就需要使用ENUM枚举类型和SET集合类型了。 + +比如性别只有“男”或“女”;上下班交通方式可以有“地铁”、“公交”、“出租车”、“自行车”、“步行”等。 + +枚举和集合类型字段声明的语法格式如下: + +- 字段名ENUM(‘值1’,‘值2’,…‘值n’) + +- 字段名 SET(‘值1’,‘值2’,…‘值n’) + +ENUM类型的字段在赋值时,只能在指定的枚举列表中取值,而且一次只能取一个。枚举列表最多可以有65535个成员。ENUM值在内部用整数表示,每个枚举值均有一个索引值, MySQL存储的就是这个索引编号。例如,定义ENUM类型的列(‘first’, ‘second’, ‘third’)。 + +![image-20211127211743925](第4章 SQL语句.assets/image-20211127211743925.png) + +SET类型的字段在赋值时,可从定义的值列表中选择1个或多个值的组合。SET列最多可以有64个成员。SET值在内部也用整数表示,分别是1,2,4,8……,都是2的n次方值,因为这些整数值对应的二进制都是只有1位是1,其余是0。 + +![image-20211127211806889](第4章 SQL语句.assets/image-20211127211806889.png) + + **演示枚举类型:** + +```mysql +create table temp( + gender enum('男','女'), + hobby set('睡觉','打游戏','泡妞','写代码') +); +``` + +```mysql +insert into temp values('男','睡觉,打游戏'); #成功 + +insert into temp values('男,女','睡觉,打游戏'); #失败 +#ERROR 1265 (01000): Data truncated for column 'gender' at row 1 + +insert into temp values('妖','睡觉,打游戏');#失败 +#ERROR 1265 (01000): Data truncated for column 'gender' at row 1 + +insert into temp values('男','睡觉,打游戏,吃饭'); +#ERROR 1265 (01000): Data truncated for column 'hobby' at row 1 +``` + +```mysql +#文本类型中的枚举和集合 +#枚举:固定的几个字符串值,从中选择一个 +#集合:固定的几个字符串值,从中选择任意几个 + +create table t_enum_set( + gender enum('男','女'), + hobby set('游戏','睡觉','打代码','运动') +); + +#查看表结构 +desc t_enum_set; + +mysql> desc t_enum_set; ++--------+------------------------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++--------+------------------------------------+------+-----+---------+-------+ +| gender | enum('男','女') | YES | | NULL | | +| hobby | set('游戏','睡觉','打代码','运动') | YES | | NULL | | ++--------+------------------------------------+------+-----+---------+-------+ +2 rows in set (0.01 sec) + + +#添加数据 +insert into t_enum_set +values('男','游戏'); + +#查看数据 +select * from t_enum_set; + +#添加数据 +insert into t_enum_set +values('男,女','游戏,睡觉'); + +mysql> insert into t_enum_set + -> values('男,女','游戏,睡觉'); +ERROR 1265 (01000): Data truncated for column 'gender' at row 1 + +#添加数据 +insert into t_enum_set +values('男','游戏,睡觉'); + +#添加数据 +insert into t_enum_set +values('妖','游戏,睡觉'); +mysql> insert into t_enum_set + -> values('妖','游戏,睡觉'); +ERROR 1265 (01000): Data truncated for column 'gender' at row 1 + +#添加数据 +insert into t_enum_set +values('男','游戏,睡觉,做饭'); +mysql> insert into t_enum_set + -> values('男','游戏,睡觉,做饭'); +ERROR 1265 (01000): Data truncated for column 'hobby' at row 1 + +insert into t_enum_set +values(2, 2); + +mysql> select * from t_enum_set; ++--------+-----------+ +| gender | hobby | ++--------+-----------+ +| 男 | 游戏 | +| 男 | 游戏,睡觉 | +| 女 | 睡觉 | ++--------+-----------+ +3 rows in set (0.00 sec) + +insert into t_enum_set +values(2, 5); +#5 可以看出 1和4的组合,00001 和 0100,0101 + +insert into t_enum_set +values(2, 7); +mysql> select * from t_enum_set; ++--------+------------------+ +| gender | hobby | ++--------+------------------+ +| 男 | 游戏 | +| 男 | 游戏,睡觉 | +| 女 | 睡觉 | +| 女 | 游戏,打代码 | +| 女 | 游戏,睡觉,打代码 | ++--------+------------------+ +5 rows in set (0.00 sec) + +insert into t_enum_set +values(2, 15); +mysql> select * from t_enum_set; ++--------+-----------------------+ +| gender | hobby | ++--------+-----------------------+ +| 男 | 游戏 | +| 男 | 游戏,睡觉 | +| 女 | 睡觉 | +| 女 | 游戏,打代码 | +| 女 | 游戏,睡觉,打代码 | +| 女 | 游戏,睡觉,打代码,运动 | ++--------+-----------------------+ +6 rows in set (0.00 sec) + +insert into t_enum_set +values(2, 25); +mysql> insert into t_enum_set + -> values(2, 25); +ERROR 1265 (01000): Data truncated for column 'hobby' at row 1 +``` + +## 5.5 数据字段属性 + + **unsigned** + +- 无符号的 + +- 声明该数据列不允许负数 + + **ZEROFILL** + +- 0填充的 + +- 不足位数的用0来填充 , 如int(3),5则为005 + +**auto_increment** + +- 自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认) +- 通常用于设置主键 , 且为整数类型 +- 可定义起始值和步长 + - 当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表 + - SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局) + +**NULL 和 NOT NULL** + +- 默认为NULL , 即没有插入该列的数值 +- 如果设置为NOT NULL , 则该列必须有值 + +**DEFAULT** + +- 默认的 + +- 用于设置默认值 + +- 例如,性别字段,默认为"男" , 否则为 "女" ; 若无指定该列的值 , 则默认值为"男"的值 + +- ```mysql + -- 目标 : 创建一个school数据库 + -- 创建学生表(列,字段) + -- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住 址,email + -- 创建表之前 , 一定要先选择数据库 + CREATE TABLE IF NOT EXISTS `student` ( + `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号', + `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', + `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码', + `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别', + `birthday` datetime DEFAULT NULL COMMENT '生日', + `address` varchar(100) DEFAULT NULL COMMENT '地址', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + PRIMARY KEY (`id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 + -- 查看数据库的定义 + SHOW CREATE DATABASE school; + -- 查看数据表的定义 + SHOW CREATE TABLE student; + -- 显示表结构 + DESC student; + -- 设置严格检查模式(不能容错了) + SET sql_mode='STRICT_TRANS_TABLES'; + ``` + +# 6.课堂笔记 + +## 6.1建库建表 + +```mysql +#查看以登录用户(有权限)查看所有的数据库 +show DATABASS; +#如何创建数据库 +CREATE DATABASE 数据库的名称 +create database lyxy; +#例如,创建数据库bookstore +create database bookstore +#查看数据库的定义 +show create database mxdx; +#例如,查看bookstore数据库的定义信息 +show create database bookstore; +#修改数据库的编码字符集 +alter DATABASE bookstore CHARACTER SET'gbk'; +alter DATABASE bookstore CHARSET utf8; +#修改bookstore数据库的字符集和校对规则 +#使用数据库 +use 数据名:这里没有写database +#例如:使用bookstore数据库 +use bookstore +#创建表格 +create table 表明( +列1名称 数据类型, +列2名称 数据类型, +列3名称 数据类型, +... +列n名称 数据类型, +); +create table book( +id int, +bookname VARVHAR(20), +price decimal(10,2) +); +#展示一下表的结构,看一下有些列是可以填写的 +desc book; +#添加数据 +insert into 表名 [列名列表]VALUES(值列表) +#例如,添加一本书叫斗破苍穹的书,价格89.5 +insert into book(id,bookname, price) +VALUES (1001,'斗破苍穹',89.5); +#查询数据 +select 列名 列表 from 表名 +select bookname from book; +#如果要查询所有列的值,*代表所有的列 +select * from book +#删除数据库 +drop datebase 数据库名; +drop databese class3; +#创建数据库 +create database class3 charset utf8; +#使用数据库 +use class3; +#创建数据表 +create table student( +id int +name char(4) +); +#添加数据 +insert into student(id,name)ALUES(1,'凯辉'); +insert into student(id,name)ALUES(2,'俊豪'); +insert into student(id,name)ALUES(3,'小强'); +#查询数据 +SELECT * from student; +#修改数据 +update student set id = 1001 where id=1; +#删除数据 +DELETE from student WHERE id=3; +#删除数据库 +drop DATABASE class3; + +``` + +# 6.2 数据类型 + +(”-- “代表注释) + +/* + +多行注释 + +第二行 + +*/ + +整数int类型 + +```mysql + +#MySQL的数据类型 + +整数的类型int + +create table book_int ( + + id int, +id2 int(2) #这里的2,并不是限制长度,这里没有任何作用 + +); + +desc book_int;#展示表的结构 + +insert into book_int (id,id2)VALUES (1001,1002); + +create table book_int2( +id int , +id2 int(5)ZEROFILL#当int(x)配合ZEROFILL使用.表示id2不足x值.前面用0填充到x位 int(6),2=> 00002 +); + +insert into book_int (id,id2)VALUES(1001,1002); +insert into book_int2 VALUES(1001,15);#当插入的值的数量,正好是你所有的字段数量时,字段列表可以省略 +insert into book_int2 VALUES(1001,1555412);#当插入的值的数量,正好 是你所有的字段数量时,字段列表可以省略 + +select * from book_int2; + +create table book_xiaoshu( + +price float, + +price2 double + +); + +desc book_xiaoshu; + +insert into book_xiaoshu values(2.5,2.5); + +create table tb_1( + + price float, + +price2 double(4,2)#4表示长度,2表示小数 + +); + +insert into tb_1(price,price2)values(2.5,23.555);#23.56 小数长度超过时,会四舍五入 +insert into tb_1(price,price2)values(2.5,23.5);#23.50 小数长度不够时,会补0 + +create table t_decimal( + + id1 decimal, #decimal 默认总长度(10,1) +id2 decimal(4,2) +); + +desc t_decimal; + +insert into t_decimal VALUES(123.55,13.55);#123.55 13.55 +insert into t_decimal VALUES(123.55,13.55); +select * from t_decimal; +create table t_int2( + i1 int, +i2 int(2) unsigned zerfill +); + +insert into t_int2 values(3.5,4.5); + +select * from t_int2; + + + +``` + +char类型 + +```mysql +create table temp( + c1 char, # 没写数字的char,默认只能插入一个字符 + c2 char(3) #有写数字的,以数字为准,但是也不能超过其限至范围 +); + + +create table temp2( +# c1 varchar, #VARCHAR必须要写(M),否则报错 +c2varchar(3)#有数字的,要以数字为准,但是也不能超过其限制范围 +); +insert into temp2 VALUES('俊豪要'); +#VARCHAR和char都是常用的字符串类型,但其占用的空间不一样 +#char是固定长度,一旦声明了长度,不过你填写的内容多长,都以你声明的长度去占空间 +#varchar 是可变长度,首先不能超过,设置的长度,实际占用的空间以你填写的为准 +CREATE table test( +id char(10), +name varchar(10) +); + + +INSERT into test(1,'国亮');#占用了十个字符的空间,而国亮就俩个字符空间 +CREATE table person( + sex enum('男','女'),#enum 枚举类型,其值只能是设定多外值中的一个,而且一定要有值 +hobby set('游戏','唱歌','RAP')#多选,其值只能是设定多外设值中的零个,成多选。 +); +insert into person VALUES('男',游戏','唱歌','RAP); +SELECT * from person; +``` + +# 作业 + +```mysql +mysql> show databases; ++--------------------+ +| Database | ++--------------------+ +| information_schema | +| mysql | +| performance_schema | +| sys | ++--------------------+ +4 rows in set (0.00 sec) + +mysql> create database class3 + -> ; +Query OK, 1 row affected (0.00 sec) + +mysql> use class3; +Database changed +mysql> create table student( + -> 学号 int(20), + -> 姓名 varchar(2), + -> 性别 enum('男','女'), + -> 爱好 set('篮球','跑步','游戏','听歌'), + -> 住址 varchar(6), + -> 联系方式 int(11), + -> 邮箱 varchar(20), + -> QQ int(10) + -> ); +Query OK, 0 rows affected, 3 warnings (0.01 sec) + +mysql> alter database class3 charset utf8; +Query OK, 1 row affected, 1 warning (0.00 sec) + +mysql> select*from student; +Empty set (0.00 sec) + +mysql> insert into student values(20,'冯锐',1,'篮球,跑步,游戏,听歌','重庆市 +永川区',133287,'2570878950@qq',86426); +Query OK, 1 row affected (0.00 sec) + +mysql> select*from student; ++------+------+------+---------------------+--------------+----------+---------------+-------+ +| 学号 | 姓名 | 性别 | 爱好 | 住址 | 联系方式 | 邮箱 | QQ | ++------+------+------+---------------------+--------------+----------+---------------+-------+ +| 20 | 冯锐 | 男 | 篮球,跑步,游戏,听歌 | 重庆市永川区 | 133287 | 2570878950@qq | 86426 | ++------+------+------+---------------------+--------------+----------+---------------+-------+ +1 row in set (0.00 sec) +``` + +D:\MYSQL仓库\mysql-base\图片\第一次作业.jpg + +![第一次作业](D:\MYSQL仓库\mysql-base\图片\第一次作业.jpg) + + diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.jpg" "b/\345\233\276\347\211\207/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..8d9b367795a326975e65f8b36ab7661c4f51be07 GIT binary patch literal 179196 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 Ne@1)(F8{}&e*mj=4(|W} literal 0 HcmV?d00001 -- Gitee From cf2b036696742f3c87422a3487bbd367ab032750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E9=94=90?= <2570878950@qq.com> Date: Sun, 19 Feb 2023 19:25:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E2=80=9C=E6=88=91=E7=9A=84=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E4=BD=9C=E4=B8=9A=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\345\217\212\344\275\234\344\270\232.md" | 324 ++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 "20230219 MYSQL\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" diff --git "a/20230219 MYSQL\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" "b/20230219 MYSQL\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" new file mode 100644 index 0000000..c4a26d6 --- /dev/null +++ "b/20230219 MYSQL\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" @@ -0,0 +1,324 @@ +-- 1、创建数据库test01_market + +```MYSQL +CREATE DATABASE test01_market; +USE test01_market +``` + +-- 2、创建表格customers + +| -- | 字段名 | 数据类型 | | +| ---- | --------- | ----------- | ---- | +| -- | c_num | int(11) | | +| -- | c_name | varchar(50) | | +| -- | c_contact | varchar(50) | | +| -- | c_city | varchar(50) | | +| -- | c_birth | date | | +```mysql +CREATE TABLE customers( +c_num INT, +c_name varchar(50), +c_contact varchar(50), +c_city varchar(50), +c_birth DATE +); +``` + +-- **要求3:**将c_contact字段移动到c_birth字段后面 + +```MYSQL +ALTER TABLE customers MODIFY COLUMN c_contact varchar(50) AFTER c_birth; +``` + +-- **要求4:**将c_name字段数据类型改为 varchar(70) + +```mysql +ALTER TABLE customers MODIFY c_name varchar(70); +``` + +-- **要求5:**将c_contact字段改名为c_phone + +```MYSQL +ALTER TABLE customers CHANGE c_contact c_phone varchar(50); +``` + +-- **要求6:**增加c_gender字段到c_name后面,数据类型为char(1) + +```MYSQL +ALTER TABLE customers ADD COLUMN c_gender char(1) AFTER c_name; +``` + +-- **要求7:**将表名改为customers_info + +```MYSQL +ALTER TABLE customers RENAME TO customers_info; +``` + +-- **要求8:**删除字段c_city + +```MYSQL +ALTER TABLE customers_info DROP c_city; +DESC customers_info; +``` + +作业2 + +-- 1、创建数据库test02_library + +```MYSQL +CREATE DATABASE test02_library; +use 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) | 否 | 否 | | +```MYSQL +CREATE table books( +b_id int(11) not null UNIQUE 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 '库存'); +show full COLUMNS FROM books; +``` + +-- 3、向books表中插入记录 +-- +-- 1) 指定所有字段名称插入第一条记录 + +``` +INSERT into books(b_id,b_name,`authors`,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), +(4,'Lovey Day','George Byro',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; +``` + + + +| -- | 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。 + +```MYSQL +update books set price=price+5 where note='novel'; +``` + +-- 5、将名称为EmmaT的书的价格改为40。 + +```MYSQL +UPDATE books set price=40 where b_name='EmmaT'; +``` + +-- 6、删除库存为0的记录 + +```MYSQL +DELETE from books where num=0; +``` + +作业3 + +1、创建数据库test03_bookstore + +```MYSQL +CREATE DATABASE test03_bookstore; +USE test03_bookstore; +``` + + +2、创建book表 + +```MYSQL +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); +``` + + + +```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 +INSERT INTO book values(1,'解忧杂货店','东野圭吾',21.20,102,98,'upload/books/解忧杂货店.jpg'),( +2,'边城','沈从文',23.00,102,98,'upload/books/边城.jpg '); +``` + + + + + +```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 +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)); +``` + + + +```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'); +``` + + + +```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 +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); +ALTER table orders MODIFY COLUMN user_id int(11) not null, +add key(user_id); +``` + + + + +尝试添加部分模拟数据,参考示例如下: + +```mysql ++----------------+---------------------+-------------+--------------+-------+---------+ +| id | order_time | total_count | total_amount | state | user_id | ++----------------+---------------------+-------------+--------------+-------+---------+ +| 15294258455691 | 2018-06-20 00:30:45 | 2 | 50.20 | 0 | 1 | ++----------------+---------------------+-------------+--------------+-------+---------+ +``` +```MYSQL +INSERT into orders values(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 +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); +``` + + +尝试添加部分模拟数据,参考示例如下: + +```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 +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