01_Mysql_基础入门
课程笔记Day01
- DDL语句
- DML语句
- DQL语句
第一章 DDL语句
第01节 操作数据库
1、创建数据库
简单的创建语法
-- 语法格式:
CREATE DATABASE 数据库的名称;-- 案例代码: 创建了一个数据库,数据库的名称叫做 mydb02
CREATE DATABASE mydb02;
完整的创建语法
-- 语法格式
CREATE DATABASE IF NOT EXISTS 数据库的名称 CHARACTER SET 数据库使用的字符集; -- 案例代码:创建一个数据库,指定数据库的名称叫做 mydb03 指定数据库使用的字符集是 utf8 如果不存在则创建
CREATE DATABASE IF NOT EXISTS mydb03 CHARACTER SET utf8;
2、删除数据库
简单的删除数据库的语法
-- 语法格式:
DROP DATABASE 数据库名称;-- 案例代码: 删除数据库 mydb02 表示数据库的名称
DROP DATABASE mydb02;
完整的删除数据库的语法
-- 语法格式:
DROP DATABASE IF EXISTS 数据库名称; -- 案例代码:删除数据库 mydb03 如果不存在,则删除。
DROP DATABASE IF EXISTS mydb03;
3、修改数据库
修改数据库的字符集
-- 语法格式:
ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;-- 案例代码: 修改数据库 mydb03 的字符集为gbk格式
ALTER DATABASE mydb03 CHARACTER SET gbk;
4、查询数据库
查询数据库的字符集
-- 语法格式:
SHOW CREATE DATABASE 数据库名称;-- 案例代码:查看数据库 mydb03 的创建语句,查看的过程当中,可以看到字符集
SHOW CREATE DATABASE mydb03;
查看当前正在使用的数据库
-- 语法格式: 在DATABASE和小括号中间,可以不用打空格
SELECT DATABASE();-- 案例代码: 查看当前正在使用的数据库
SELECT DATABASE();
5、使用数据库
使用数据库或者切换数据库
-- 语法格式
USE 数据库名称;-- 案例代码: mydb03是数据库的名称
USE mydb03;
第02节 操作数据表
1、创建数据表
简单的建表格式
-- 语法格式
CREATE TABLE 表名称(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3
);-- 案例代码 student_one 表名称
CREATE TABLE student_one(id INT,NAME VARCHAR(20),age INT
);
完整的建表格式
-- 语法格式
CREATE TABLE IF NOT EXISTS 表名称(列名1 数据类型1 约束类型,列名2 数据类型2 约束类型,列名3 数据类型3 约束类型
) ENGINE=存储引擎;-- 案例代码 完整格式写法
CREATE TABLE IF NOT EXISTS student_two(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20) NOT NULL,age INT NOT NULL
) ENGINE=INNODB;
2、删除数据表
简单的删除表格式
-- 语法格式
DROP TABLE 表名称;-- 案例代码 简写格式 student_one 是数据表的名称
DROP TABLE student_one;
完整的删除表格式
-- 语法格式
DROP TABLE IF EXISTS 表名称;-- 案例代码 完整格式,存在表 则删除
DROP TABLE IF EXISTS student_two;
3、修改数据表
修改表名称
-- 语法格式
ALTER TABLE 旧的表名称 RENAME TO 新的表名称;-- 案例代码:修改表名称的操作
ALTER TABLE student_one RENAME TO student_1;
修改表的字符集
-- 语法格式
ALTER TABLE 表名称 CHARACTER SET 字符集;-- 案例代码: 修改表 student_1 的字符集 gbk
ALTER TABLE student_1 CHARACTER SET gbk;
修改表,添加新的列
-- 语法格式
ALTER TABLE 表名称 ADD 列名称 列的数据类型;-- 案例代码: 修改表,添加新的一列,添加性别 gender
ALTER TABLE student_1 ADD gender VARCHAR(20);
修改表,修改列的数据类型
-- 语法格式
ALTER TABLE 表名称 MODIFY 列名称 列的数据类型;-- 案例代码: 修改表,修改表所在列的数据类型,性别gender 修改为INT
ALTER TABLE student_1 MODIFY gender INT;
修改表,修改列名称和数据类型
-- 语法格式
ALTER TABLE 表名称 CHANGE 旧的列名称 新的列名称 新的列数据类型;-- 案例代码:修改表,将旧的列性别 gender 修改成为 sex VARCHAR(20)
ALTER TABLE student_1 CHANGE gender sex VARCHAR(20);
修改表,删除表当中某一列
-- 语法格式
ALTER TABLE 表名称 DROP 列名称;-- 案例代码: 修改表,删除表当中的某一列,删除表 student_1 的 sex这列
ALTER TABLE student_1 DROP sex;
4、查询数据表
查看数据库当中,所有表的信息
-- 语法格式:
SHOW TABLES;-- 案例代码: 查询当前数据库当中,所有的表名称
SHOW TABLES;
查询数据库当中,单独的某个表的表结构,每一列的列名、约束、数据类型、信息
-- 语法格式
DESC 表名称;-- 案例代码:查询某个表的表结构,student_1 表结构
DESC student_1;
查询数据库当中,表的存储引擎,数据容量,创建时间等
-- 语法格式
SHOW TABLE STATUS FROM 数据库名称 LIKE '表名称';-- 案例代码:查询数据库mydb03当中, student_1 表的存储引擎,数据容量,创建时间等
SHOW TABLE STATUS FROM mydb03 LIKE 'student_1';
第03节 数据类型
1、数值类型
1. 整数精确值(精确值)INTEGERINTBIGINT
2. 定点类型(精确值)DECIMALNUMERIC
3. 浮点数(近似值)FLOATDOUBLE
4. 位类型(如果用于文件的存储,将一个.png格式的文件,上传到数据库保存)BIT
案例代码(研究小数类型的问题)
-- 1. 删除表,如果表存在,则删除表
DROP TABLE IF EXISTS student_three;
-- 2. 创建表,包括有浮点数参与进来
CREATE TABLE IF NOT EXISTS student_three(id INT,chinese INTEGER,math DECIMAL,english FLOAT(3,1),computer DOUBLE(3,1)
);
-- 3. 查询表结构
DESC student_three;
-- 4. 插入部分数据
INSERT INTO student_three VALUES (1,30,40,100,100);
INSERT INTO student_three VALUES (2,30,40,99.1,100);
INSERT INTO student_three VALUES (3,30,40,99.1,99.1);
INSERT INTO student_three VALUES (4,30,40,99.12,99.12);
INSERT INTO student_three VALUES (5,30,40,99.19,99.19);
-- 5. 查询表记录信息
SELECT * FROM student_three;
/*注意什么问题呢?如果我们定义数据类型为 FLOAT(M,D) DOUBLE(M,D)M 指的是什么意思呢?M 指的是数字字符,一共有多少个D 指的是什么意思呢?D 指的是小数部分,保留几位例如: FLOAT(4,1) 请问这个数据的最大是多少?999.9注意问题:如果我们定义的是 FLOAT(3,1) 传入的数据是 99.19 得到结果是 99.2小数部分,存在四舍五入
*/
2、字符类型
1. 字符类型,也可以作为字符串使用CHAR
2. 字符串类型(使用较多,类似于Java的 String)VARCHAR
3. 文本类型TEXT
4. 多个选项当中,选择其中一个,例如:男或女SET
案例代码(常见的字符串类型演示)
-- 1. 删除表,如果表存在,则删除表
DROP TABLE IF EXISTS student_four;-- 2. 创建表,包括有浮点数参与进来
CREATE TABLE IF NOT EXISTS student_four(id INT,sname VARCHAR(11),gender SET('男','女'),address TEXT(20),phone CHAR(11)
);-- 3. 查询表结构
DESC student_four;-- 4. 插入数据
INSERT INTO student_four VALUES (1,'张三','男','湖北武汉','13812345678');
INSERT INTO student_four VALUES (2,"李四","女","湖南长沙","13112345678");
INSERT INTO student_four VALUES (3,"王五","女","湖南长沙","13312345678");
INSERT INTO student_four VALUES (4,"王五","妖","湖南长沙","13312345678"); -- 报错的-- 5. 查询表记录
SELECT * FROM student_four;/*1. varchar 和 char 都可以表示字符串。2. 字符串和字符,都需要使用引号引起来,单引号和双引号都可以。3. 当字符串的长度一旦指定之后,字符的数目不能超过4. SET("男","女") 之后,不能指定其他数据了,类似于我们的枚举类型
*/
3、时间类型
1. 只是展示日期,不展示时间。(例如:2008年08月08日)DATE2. 展示日期和时间(例如:2008年08月08日08:08:08)DATETIME3. 时间戳。底层会保存为标准时间格式,在Java当中直接打印输出Date对象TIMESTAMP
案例代码
-- 1. 删除表,如果表存在,则删除表
DROP TABLE IF EXISTS student_five;-- 2. 创建表,包括有浮点数参与进来
CREATE TABLE IF NOT EXISTS student_five(id INT,birthday DATE,schooltime DATETIME,classtime TIMESTAMP
);-- 3. 查询表结构
DESC student_five;-- 4. 插入数据
INSERT INTO student_five VALUES (1,NULL,NULL,NULL);
INSERT INTO student_five VALUES (2,'2021-8-13','2021-8-13 11:17:53','2021-8-13 11:17:53');
INSERT INTO student_five VALUES (3,'2021-8-13 11:17:53','2021-8-13 11:17:53','2021-8-13 11:17:53');-- 5. 查询表记录
SELECT * FROM student_five;/*注意三者的区别:1. 如果添加数据全部是 null DATE 和 DATETIME 添加的值为 nullTIMESTAMP 添加的是当前的系统时间2. DATE添加的数据的时候,只会保存 年月日的部分,时分秒即使添加,也不会保存。3. 添加数据的时候,格式必须是 yyyy-MM-dd HH:mm:ss4. 添加数据的时候,三者必须使用引号引起来,单引号双引号都可以。
*/
区别两个时间 DATETIME
和 TIMESTAMP
1. 相同点:都可以表示 日期和时间 yyyy-MM-dd HH:mm:ss2. 不同点:A. 如果添加数据为 null, DATETIME 添加的值为 null 但是 TIMESTAMP 添加的值是 当前的系统时间。B. 系统底层保存数据的区别。DATETIME底层会原封不动的保存,TIMESTAMP底层会转换成为UTC格式保存(包含时区)3. 版本问题:TIMESTAMP 在不同版本当中,区别很大。如果是 MySQL5.6.5 版本之前的,TIMESTAMP 在一张表当中,只能存在一列,他的数据类型为 TIMESTAMP如果是 MySQL5.6.5 版本之后的,TIMESTAMP 在一张表当中,可以存在多列,他们的数据类型为 TIMESTAMP
第二章 DML语句
第01节 新增表记录
1、简单写法
语法:
INSERT INTO 表名称 VALUES (列1的数值, 列2的数值, 列3的数值);
案例:
-- 1. 删除表
DROP TABLE IF EXISTS student_six;-- 2. 创建表
CREATE TABLE IF NOT EXISTS student_six(sid INT,sname VARCHAR(20),sage INT,sgender ENUM('男','女')
);-- 3. 新增数据(简单写法)
INSERT INTO student_six VALUES (1,'迪丽热巴',18,'女');
INSERT INTO student_six VALUES (2,'古力娜扎',19); -- 错误的-- 4. 查询数据
SELECT * FROM student_six;/*注意事项:1. 采用简单写法,必须要把所有列对应的值,全部写上才能通过
*/
2、完整写法
语法:
INSERT INTO 表名称 (列名1,列名2,列名3) VALUES (列1的数值, 列2的数值, 列3的数值);
案例:
-- 1. 删除表
DROP TABLE IF EXISTS student_six;-- 2. 创建表
CREATE TABLE IF NOT EXISTS student_six(sid INT,sname VARCHAR(20),sage INT,sgender ENUM('男','女')
);-- 3. 新增数据(完整写法)
INSERT INTO student_six (sid,sname,sage,sgender) VALUES (1,'迪丽热巴',21,'女');
INSERT INTO student_six (sid,sname,sage) VALUES (2,'古力娜扎',23);
INSERT INTO student_six (sage,sid,sname) VALUES (24,3,'马尔扎哈');
INSERT INTO student_six (sid,sname) VALUES (4,'张三'),(5,'李四'),(6,'王五');-- 4. 查询数据
SELECT * FROM student_six;/*注意事项:1. 完整写法当中,需要写出列名称,要求就是 列名和列的值顺序要对应。2. 还可以进行批量的添加数据
*/
第02节 修改表记录
1、标准语法
语法格式
UPDATE 表名称 SET 列名1=修改值1, 列名2=修改值2;
UPDATE 表名称 SET 列名1=修改值1, 列名2=修改值2 WHERE 条件;
案例代码
-- 1. 删除表
DROP TABLE IF EXISTS student_six;-- 2. 创建表
CREATE TABLE IF NOT EXISTS student_six(sid INT,sname VARCHAR(20),sage INT,sgender ENUM('男','女')
);-- 3. 插入表记录
INSERT INTO student_six VALUES (1,'张三',23,'男'),(2,'李四',24,'女'),(3,'王五',25,'男');-- 4. 查询表数据
SELECT * FROM student_six;-- 5. 修改操作:将sid=1的数据进行修改。 sname="张三丰",sage=100
UPDATE student_six SET sname='张三丰',sage=100 WHERE sid=1;-- 6. 修改操作:将sage=50
UPDATE student_six SET sage=50;
2、注意事项
加 WHERE
和 不加 WHERE
有什么区别呢?
1. 如果加上了 WHERE 条件,则符合条件的几行记录,才会被修改。
2. 如果没有加上 WHERE 条件,则所有的记录,都认定为符合条件,会全部进行修改。
第03节 删除表记录
1、标准语法
语法格式
DELETE FROM 表名称;
DELETE FROM 表名称 WHERE 条件;TRUNCATE 表名称;
案例代码:
-- 1. 删除表
DROP TABLE IF EXISTS student_six;-- 2. 创建表
CREATE TABLE IF NOT EXISTS student_six(sid INT,sname VARCHAR(20),sage INT,sgender ENUM('男','女')
);-- 3. 插入表记录
INSERT INTO student_six VALUES (1,'张三',23,'男'),(2,'李四',24,'女'),(3,'王五',25,'男');-- 4. 查询表数据
SELECT * FROM student_six;-- 5. 删除某一条记录, 删除 sid=2
DELETE FROM student_six WHERE sid=2;-- 6. 删除记录,如果不写 WHERE 条件会逐行删除表记录
DELETE FROM student_six;-- 7. 如果想要删除整张表的记录,直接采用 TRUNCATE,先删除表,再创建一个一模一样的空表
TRUNCATE student_six;
2、注意事项
1. 加WHERE条件 和 不加WHERE条件 有什么区别?A. 不加 WHERE 条件, 他是逐行删除表记录,直到所有的记录全部删除完毕。B. 加上 WHERE 条件, 他是根据条件进行删除,只删除满足条件的数据。2. TRUNCATE 和 WHERE 的区别?A. TRUNCATE 的删除方式是:直接删除整张表,然后创建一个一模一样的空表。B. WHERE 的删除方式是: 逐行删除表记录,效率非常低。
第三章 DQL语句
第01节 基础查询
1、准备表数据
-- 删除数据库
DROP DATABASE IF EXISTS mydb04;-- 创建数据库,指定字符集 utf8
CREATE DATABASE IF NOT EXISTS mydb04 CHARACTER SET 'utf8';-- 使用数据库
USE mydb04;-- course表
CREATE TABLE IF NOT EXISTS course (cs_id INT(11), -- 课程编cs_name VARCHAR(50), -- 课程名称cs_credit TINYINT(255), -- 课程学分cs_type CHAR(12), -- 课程类别cs_depart CHAR(6) -- 院系名
);INSERT INTO course(cs_id,cs_name,cs_credit,cs_type,cs_depart) VALUES
(5200313,'数据库原理及应用',4,'核心专业','信工'),
(5203314,'计算机导论',4,'通识教育','信工'),
(5219314,'数据结构',5,'专业核心','信工'),
(5223013,'大学物理',4,'专业基础','信工'),
(5227614,'毕业实习',4,'集中实践','信工'),
(5230912,'云计算',2,'共同选修','信工'),
(5236212,'机器学习',2,'共同选修','信工'),
(5237514,'c语言',4,'专业基础','信工'),
(5245112,'区块链',2,'任意选修','信工'),
(7200422,'知识产权法',2,'任意选修','文法'),
(20201833,'概率论',3,'专业基础','基础'),
(20202336,'高等数学',6,'专业基础','基础'),
(29299131,'劳动教育',1,'集中实践','学务');-- student表
CREATE TABLE IF NOT EXISTS student (stu_id BIGINT(11), -- 学号stu_name CHAR(12), -- 姓名stu_sex ENUM('男','女'), -- 性别stu_age TINYINT(255), -- 年龄stu_major CHAR(9), -- 专业stu_college CHAR(12) -- 学院
);INSERT INTO student(stu_id,stu_name,stu_sex,stu_age,stu_major,stu_college)
VALUES (201804550101,'郭奎','男',22,'计科','信工学院'),(201804550102,'吕宇航','男',18,'计科','信工学院'),
(201804550103,'张豪辉','女',19,'计科','信工学院'),
(201804550107,'丁志杰','男',17,'金融学','金贸学院'),
(201804550109,'范伟','男',19,'金融学','金贸学院'),(201804550116,'张依婷','女',17,'大数据','信工学院'),
(201804550120,'张维','男',19,'计科','信工学院'),(201804550121,'朱柳阳','女',20,'计科','信工学院'),
(201804550144,'谭兵炎','男',20,'大数据','信工学院'),(201804550153,'杨志强','男',17,'大数据','信工学院');-- 查询两张表的记录
SELECT * FROM student;SELECT * FROM course;
学生表 student 的信息
课程表 course 的信息
2、简单查询
语法格式
-- 1. 查询表的全部记录
SELECT * FROM 表名称;-- 2. 查询表当中的指定列
SELECT 列名1,列名2,列名3 FROM 表名称;-- 3. 查询去掉重复的列(说明:只有查询完全相同的情况,才能去重)
SELECT DISTINCT 列名1,列名2 FROM 表名称;-- 4. 进行四则运算的查询
SELECT 列名1+列名2,列名1-数值 FROM 表名称;-- 5. 非空运算的查询(当列名2里面的数据,包含有NULL的情况下,按0计算)
SELECT 列名1, IFNULL(列名2,0) FROM 表名称;-- 6. 取别名的查询(取别名的过程当中,AS可以省略不写)
SELECT 列名1 别名1,列名2 AS 别名2 FROM 表名称;
案例代码
-- 1. 查询表的全部记录
SELECT * FROM student;-- 2. 查询表当中的指定列
SELECT stu_id,stu_name,stu_major FROM student;-- 3. 查询去掉重复的列, 查询的结果当中, 如果完全相同,才认定为去重
SELECT DISTINCT stu_major FROM student;-- 4. 进行四则运算的查询
-- 将查询的分数统一增加10分
SELECT cs_name,cs_credit+10 FROM course;-- 5. 非空运算的查询
UPDATE course SET cs_credit = NULL WHERE cs_name = 'C语言';
SELECT cs_name,IFNULL(cs_credit+10,0) FROM course;-- 6. 取别名的查询
SELECT cs_name,IFNULL(cs_credit+10,0) AS '成绩' FROM course;
SELECT cs_name '学科',IFNULL(cs_credit+10,0) AS '成绩' FROM course;
3、条件查询
语法格式
SELECT 列名 FROM 表名称 WHERE 条件;
相关的条件
编号 | 符号 | 语法 |
---|---|---|
01 |
>
|
列名>数值
|
02 |
<
|
列名<数值
|
03 |
>=
|
列名>=数值
|
04 |
<=
|
列名<=数值
|
05 |
=
|
列名=数值
|
06 |
!= 或者 <>
|
列名!=数值 或者 列名<>数值
|
07 |
BETWEEN...AND...
|
列名 BETWEEN 数值1 AND 数值2
|
08 |
IN(选项1,选项2,选项3)
|
列名 IN (数值1,数值2,数值3)
|
09 |
LIKE 占位符
|
列名 LIKE 占位符
|
10 |
IS NULL
|
列名 IS NULL
|
11 |
IS NOT NULL
|
列名 IS NOT NULL
|
12 |
AND 或者 &&
|
列名>数值1 AND 列名<数值2 或者 列名>数值1 && 列名<数值2
|
13 |
OR 或者 ||
|
列名>数值1 OR 列名<数值2 或者 列名>数值1 || 列名<数值2
|
14 |
NOT 或者 !
|
基础案例代码
-- 1. 查询分数在 3分以上的信息
SELECT * FROM course WHERE cs_credit>3;-- 2. 查询分数为 1 的信息(这里只能写一个等号)
SELECT * FROM course WHERE cs_credit=1;-- 3. 查询分数不为2的信息
SELECT * FROM course WHERE cs_credit<>2;-- 4. 查询分数在2到5之间的数据
SELECT * FROM course WHERE cs_credit BETWEEN 2 AND 5;-- 5. 查询分数为2和5的数据
SELECT * FROM course WHERE cs_credit IN (2,5);-- 6. 查询分数为 NULL的数据
SELECT * FROM course WHERE cs_credit IS NULL;-- 7. 查询分数不为 NULL的数据
SELECT * FROM course WHERE cs_credit IS NOT NULL; -- 8. 查询分数低于2分,高于5的数据
SELECT * FROM course WHERE cs_credit<2 OR cs_credit>5;
模糊查询
/*占位符: % 和 _% 表示的是0个或者多个_ 表示的是1个字符*/
-- 1. 查询学科名称当中, 包含有"学"字的学科名称
SELECT * FROM course WHERE cs_name LIKE "%学%"-- 2. 查询学科名称当中, 以"习"字结尾的
SELECT * FROM course WHERE cs_name LIKE "%习";-- 3. 查询学科名称,由三个字符组成的
SELECT * FROM course WHERE cs_name LIKE "___";-- 4. 查询学科名称,由"数"开头,包含4个字符的
SELECT * FROM course WHERE cs_name LIKE "数___";
4、聚合函数
语法格式
1. 查个数 COUNT(列名)
2. 最大值 MAX(列名)
3. 最小值 MIN(列名)
4. 平均值 AVG(列名)
5. 总和 SUM(列名)
案例代码
-- 1. 查询一共有多少个学生
SELECT COUNT(stu_id) FROM student;-- 2. 查询学生的最大年龄
SELECT MAX(stu_age) FROM student;-- 3. 查询学生的最小年龄
SELECT MIN(stu_age) FROM student;-- 4. 查询学生的平均年龄
SELECT AVG(stu_age) FROM student;-- 5. 查询学生的年龄总和
SELECT SUM(stu_age) FROM student;
5、排序查询
语法格式
-- 1. 升序: 从小到大,默认排序方式,可以省略 ASCORDER BY 列名 ASC;-- 2. 降序: 从大到小 ORDER BY 列名 DESC;
案例代码
-- 1. 查询学生表数据,按照年龄升序排列, 默认是升序,ASC可以省略不写
SELECT * FROM student ORDER BY stu_age ASC;-- 2. 查询学生表数据,按照年龄降序排列
SELECT * FROM student ORDER BY stu_age DESC;-- 3. 多条件排序,如果第一条件相同,则按照第二条件排序。
-- 说明: 按照年龄降序排列,如果年龄相同,则按照学号升序排列
SELECT * FROM student ORDER BY stu_age DESC, stu_id ASC;
__";
– 4. 查询学科名称,由"数"开头,包含4个字符的
SELECT * FROM course WHERE cs_name LIKE “数___”;
##### 4、聚合函数语法格式```mysql
1. 查个数 COUNT(列名)
2. 最大值 MAX(列名)
3. 最小值 MIN(列名)
4. 平均值 AVG(列名)
5. 总和 SUM(列名)
案例代码
-- 1. 查询一共有多少个学生
SELECT COUNT(stu_id) FROM student;-- 2. 查询学生的最大年龄
SELECT MAX(stu_age) FROM student;-- 3. 查询学生的最小年龄
SELECT MIN(stu_age) FROM student;-- 4. 查询学生的平均年龄
SELECT AVG(stu_age) FROM student;-- 5. 查询学生的年龄总和
SELECT SUM(stu_age) FROM student;
5、排序查询
语法格式
-- 1. 升序: 从小到大,默认排序方式,可以省略 ASCORDER BY 列名 ASC;-- 2. 降序: 从大到小 ORDER BY 列名 DESC;
案例代码
-- 1. 查询学生表数据,按照年龄升序排列, 默认是升序,ASC可以省略不写
SELECT * FROM student ORDER BY stu_age ASC;-- 2. 查询学生表数据,按照年龄降序排列
SELECT * FROM student ORDER BY stu_age DESC;-- 3. 多条件排序,如果第一条件相同,则按照第二条件排序。
-- 说明: 按照年龄降序排列,如果年龄相同,则按照学号升序排列
SELECT * FROM student ORDER BY stu_age DESC, stu_id ASC;
01_Mysql_基础入门相关推荐
- 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...
- MAYA 2022基础入门学习教程
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...
- Blender 3.0基础入门学习教程 Introduction to Blender 3.0
成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...
- 三维地形制作软件 World Machine 基础入门学习教程
<World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...
- SketchUp Pro 2021基础入门学习视频教程
SketchUp Pro 2021基础入门学习视频教程 1280X720 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 流派:电子学习|语言:英语+中文字幕( ...
- Maya基础入门学习教程
Maya基础入门学习教程 视频:.MKV, 1280x720, 共57节课 时长 4小时25分钟,3GB 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 指导老师:Shane Whitt ...
- Maya2022基础入门学习教程
Maya2022基础入门学习教程 Maya 2022 Essential Training Maya2022基础入门学习教程 Maya 2022 Essential Training MP4 |视频: ...
- Blender基础入门学习教程 Learning Blender from Scratch
Blender基础入门学习教程 Learning Blender from Scratch 流派:电子学习| MP4 |视频:h264,1280×720 |音频:aac,48000 Hz 语言:英语+ ...
- json vue 对象转数组_vue 基础入门(一)修改
vue基础入门(一) 1. 什么是vue Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标 ...
最新文章
- 最新《科学》重磅!科学家喊你赶快关心自己的孩子:缺乏母爱会导致大脑基因改变...
- eclipse恢复默认布局
- 前后端分离 跨域问题解决
- async await 同步方法调用异步方法死锁
- 项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序的解决办法...
- c++ list 获取元素_Python中最常见的10个问题(list)
- 力扣441.排列硬币
- Uploadify 3.2 参数属性、事件、方法函数详解以及配置
- 京东被曝显卡售后不肯维修要原价退款;​IBM发布第一个2纳米芯片;Bootstrap 5.0.0发布|极客头条...
- 庆祝自己通过系分考试,分发资料
- 【面试题】444- 55 道常见CSS面试题
- win10电脑突然黑屏 亮屏后出现d-sub是什么意思?
- 文本聚类 java_【Java】文本聚类
- 360浏览器下页面样式显示异常的解决方法
- R语言检验时间序列中是否存在自相关性:使用box.test函数执行box-pierce检验验证时间序列中是否存在自相关性
- 大数据处理技术与人工智能技术
- 【尚硅谷_数据结构与算法】一、数据结构与算法概述
- 搭建Web服务器建网站的步骤
- 中国联通智慧客服项目31省集约收官,百度智能客服服务全国最多用户
- VLDB 2021 COCO 论文阅读