cmd-Mysql学习【含建表插入数据】

cmd-Mysql学习

一、DML语句

create table student(
s_id int PRIMARY key auto_increment,
s_name VAECHAR(20)not null,
s_birthday VARCHAR(20)not null,
s_birthday VARCHAR(20)not null);

mysql> CREATE TABLE student(s_id int PRIMARY key auto_increment,s_name VARCHAR(20) not null,s_birthday VARCHAR(20) not null,s_sex VARCHAR(20) not null);
Query OK, 0 rows affected (0.04 sec)

create table course(
c_id int auto_increment,
c_name VARCHAR(20)not null,
t_id int not null,
primary key(c_id)
);

 create table course(   c_id int auto_increment,    c_name VARCHAR(20)not null,     t_id int not null,    primary key(c_id)    );
Query OK, 0 rows affected (0.03 sec)

CREATE TABLE teacher(
t_id int primary key auto_increment ,
t_name VARCHAR(20) not null
);

mysql> CREATE TABLE teacher(t_id int primary key auto_increment ,t_name VARCHAR(20) not null);
Query OK, 0 rows affected (0.03 sec)
mysql> CREATE TABLE score(
    -> s_id int ,
    -> c_id int ,
    -> s_score FLOAT(4,2),
    -> PRIMARY KEY(s_id,c_id)
    -> );
Query OK, 0 rows affected (0.04 sec)
insert into student values('01' , '赵雷' , '1990-01-01', '男');
insert into student values('02' , '钱电' , '1990-12-21' , '男');
insert into student values('03' , '孙风' , '1990-05-20' , '男');
insert into student values('04' , '李云' , '1990-08-06' , '男');
insert into student values('05' , '周梅' , '1991-12-01' , '女');
insert into student values('06' , '吴兰' , '1992-03-01' , '女');
insert into student values('07' , '郑竹' , '1989-07-01' , '女');
insert into student values('08' , '王菊' , '1990-01-20' , '女');
insert into Course values('01' , '语文' , '02');
insert into Course values('02' , '数学' , '01');
insert into Course values('03' , '英语' , '03');
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');
insert into Score values('01' , '01' , 80);
insert into Score values('01' , '02' , 90);
insert into Score values('01' , '03' , 99);
insert into Score values('02' , '01' , 70);
insert into Score values('02' , '02' , 60);
insert into Score values('02' , '03' , 80);
insert into Score values('03' , '01' , 80);
insert into Score values('03' , '02' , 80);
insert into Score values('03' , '03' , 80);
insert into Score values('04' , '01' , 50);
insert into Score values('04' , '02' , 30);
insert into Score values('04' , '03' , 20);
insert into Score values('05' , '01' , 76);
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34);
insert into Score values('07' , '02' , 89);
insert into Score values('07' , '03' , 98);
mysql> select * from student;
+------+--------+------------+-------+
| s_id | s_name | s_birthday | s_sex |
+------+--------+------------+-------+
|    1 | 赵雷   | 1990-01-01 ||
|    2 | 钱电   | 1990-12-21 ||
|    3 | 孙风   | 1990-05-20 ||
|    4 | 李云   | 1990-08-06 ||
|    5 | 周梅   | 1991-12-01 ||
|    6 | 吴兰   | 1992-03-01 ||
|    7 | 郑竹   | 1989-07-01 ||
|    8 | 王菊   | 1990-01-20 ||
+------+--------+------------+-------+
8 rows in set (0.00 sec)

mysql> select * from score;
+------+------+---------+
| s_id | c_id | s_score |
+------+------+---------+
|    1 |    1 |   80.00 |
|    1 |    2 |   90.00 |
|    1 |    3 |   99.00 |
|    2 |    1 |   70.00 |
|    2 |    2 |   60.00 |
|    2 |    3 |   80.00 |
|    3 |    1 |   80.00 |
|    3 |    2 |   80.00 |
|    3 |    3 |   80.00 |
|    4 |    1 |   50.00 |
|    4 |    2 |   30.00 |
|    4 |    3 |   20.00 |
|    5 |    1 |   76.00 |
|    5 |    2 |   87.00 |
|    6 |    1 |   31.00 |
|    6 |    3 |   34.00 |
|    7 |    2 |   89.00 |
|    7 |    3 |   98.00 |
+------+------+---------+
18 rows in set (0.01 sec)
 select * from student a left join score b on (a.s_id=b.s_id);
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    2 |   60.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    2 |   30.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    3 |   20.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    1 |   76.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    2 |   87.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    1 |   31.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    3 |   34.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    2 |   89.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    3 |   98.00 |
|    8 | 王菊   | 1990-01-20 || NULL | NULL |    NULL |
+------+--------+------------+-------+------+------+---------+
19 rows in set (0.00 sec)
student和score做左连接,当条件匹配不成功时,右表对应项为null
mysql> select * from student a right join score b on (a.s_id=b.s_id)
    -> ;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    2 |   60.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    2 |   30.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    3 |   20.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    1 |   76.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    2 |   87.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    1 |   31.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    3 |   34.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    2 |   89.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    3 |   98.00 |
+------+--------+------------+-------+------+------+---------+
18 rows in set (0.00 sec)

右连接

mysql> select * from score a right join student b on (a.s_id=b.s_id);
+------+------+---------+------+--------+------------+-------+
| s_id | c_id | s_score | s_id | s_name | s_birthday | s_sex |
+------+------+---------+------+--------+------------+-------+
|    1 |    1 |   80.00 |    1 | 赵雷   | 1990-01-01 ||
|    1 |    2 |   90.00 |    1 | 赵雷   | 1990-01-01 ||
|    1 |    3 |   99.00 |    1 | 赵雷   | 1990-01-01 ||
|    2 |    1 |   70.00 |    2 | 钱电   | 1990-12-21 ||
|    2 |    2 |   60.00 |    2 | 钱电   | 1990-12-21 ||
|    2 |    3 |   80.00 |    2 | 钱电   | 1990-12-21 ||
|    3 |    1 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    3 |    2 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    3 |    3 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    4 |    1 |   50.00 |    4 | 李云   | 1990-08-06 ||
|    4 |    2 |   30.00 |    4 | 李云   | 1990-08-06 ||
|    4 |    3 |   20.00 |    4 | 李云   | 1990-08-06 ||
|    5 |    1 |   76.00 |    5 | 周梅   | 1991-12-01 ||
|    5 |    2 |   87.00 |    5 | 周梅   | 1991-12-01 ||
|    6 |    1 |   31.00 |    6 | 吴兰   | 1992-03-01 ||
|    6 |    3 |   34.00 |    6 | 吴兰   | 1992-03-01 ||
|    7 |    2 |   89.00 |    7 | 郑竹   | 1989-07-01 ||
|    7 |    3 |   98.00 |    7 | 郑竹   | 1989-07-01 ||
| NULL | NULL |    NULL |    8 | 王菊   | 1990-01-20 ||
+------+------+---------+------+--------+------------+-------+
19 rows in set (0.00 sec)

score右连接student 相当于student左连接score

mysql> select * from score a inner join student b on (a.s_id=b.s_id);
+------+------+---------+------+--------+------------+-------+
| s_id | c_id | s_score | s_id | s_name | s_birthday | s_sex |
+------+------+---------+------+--------+------------+-------+
|    1 |    1 |   80.00 |    1 | 赵雷   | 1990-01-01 ||
|    1 |    2 |   90.00 |    1 | 赵雷   | 1990-01-01 ||
|    1 |    3 |   99.00 |    1 | 赵雷   | 1990-01-01 ||
|    2 |    1 |   70.00 |    2 | 钱电   | 1990-12-21 ||
|    2 |    2 |   60.00 |    2 | 钱电   | 1990-12-21 ||
|    2 |    3 |   80.00 |    2 | 钱电   | 1990-12-21 ||
|    3 |    1 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    3 |    2 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    3 |    3 |   80.00 |    3 | 孙风   | 1990-05-20 ||
|    4 |    1 |   50.00 |    4 | 李云   | 1990-08-06 ||
|    4 |    2 |   30.00 |    4 | 李云   | 1990-08-06 ||
|    4 |    3 |   20.00 |    4 | 李云   | 1990-08-06 ||
|    5 |    1 |   76.00 |    5 | 周梅   | 1991-12-01 ||
|    5 |    2 |   87.00 |    5 | 周梅   | 1991-12-01 ||
|    6 |    1 |   31.00 |    6 | 吴兰   | 1992-03-01 ||
|    6 |    3 |   34.00 |    6 | 吴兰   | 1992-03-01 ||
|    7 |    2 |   89.00 |    7 | 郑竹   | 1989-07-01 ||
|    7 |    3 |   98.00 |    7 | 郑竹   | 1989-07-01 ||
+------+------+---------+------+--------+------------+-------+
18 rows in set (0.00 sec)

内连接,也就是全连接吗

mysql> select * from student a left join score b on (a.s_id=b.s_id) where b.s_id is null;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    8 | 王菊   | 1990-01-20 || NULL | NULL |    NULL |
+------+--------+------------+-------+------+------+---------+
1 row in set (0.00 sec)

求student右连接score表得到整个结果集中中s_id列为null的值

mysql> select * from student a left join score b on (a.s_id = b.s_id) where a.s_id is null
    -> union select * from student a left join score b on (a.s_id = b.s_id) where b.s_id is null;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    8 | 王菊   | 1990-01-20 || NULL | NULL |    NULL |
+------+--------+------------+-------+------+------+---------+
1 row in set (0.00 sec)
mysql> select * from student a left join score b on (a.s_id = b.s_id) where b.s_id is null
    -> union select * from student a left join score b on (a.s_id = b.s_id) where b.s_id is null;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    8 | 王菊   | 1990-01-20 || NULL | NULL |    NULL |
+------+--------+------------+-------+------+------+---------+
1 row in set (0.00 sec)
union用法
select s_id from student
    -> union select s_id from score;
+------+
| s_id |
+------+
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
|    6 |
|    7 |
|    8 |
+------+
8 rows in set (0.00 sec)

union使用前提是两个表有相同的列数据,union能够自动去重

列出在学生表和成绩表中所有学生的学号

mysql> select s_id from student union all select s_id from score ;
+------+
| s_id |
+------+
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
|    6 |
|    7 |
|    8 |
|    1 |
|    1 |
|    1 |
|    2 |
|    2 |
|    2 |
|    3 |
|    3 |
|    3 |
|    4 |
|    4 |
|    4 |
|    5 |
|    5 |
|    6 |
|    6 |
|    7 |
|    7 |
+------+
26 rows in set (0.00 sec)

union all不能自动去重

mysql> select * from student corss join score;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    2 | 钱电   | 1990-12-21 ||    1 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    1 |    1 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    1 |    1 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    1 |    1 |   80.00 |
|    6 | 吴兰   | 1992-03-01 ||    1 |    1 |   80.00 |
|    7 | 郑竹   | 1989-07-01 ||    1 |    1 |   80.00 |
|    8 | 王菊   | 1990-01-20 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    2 | 钱电   | 1990-12-21 ||    1 |    2 |   90.00 |
|    3 | 孙风   | 1990-05-20 ||    1 |    2 |   90.00 |
|    4 | 李云   | 1990-08-06 ||    1 |    2 |   90.00 |
|    5 | 周梅   | 1991-12-01 ||    1 |    2 |   90.00 |
|    6 | 吴兰   | 1992-03-01 ||    1 |    2 |   90.00 |
|    7 | 郑竹   | 1989-07-01 ||    1 |    2 |   90.00 |
|    8 | 王菊   | 1990-01-20 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    1 |    3 |   99.00 |
|    3 | 孙风   | 1990-05-20 ||    1 |    3 |   99.00 |
|    4 | 李云   | 1990-08-06 ||    1 |    3 |   99.00 |
|    5 | 周梅   | 1991-12-01 ||    1 |    3 |   99.00 |
|    6 | 吴兰   | 1992-03-01 ||    1 |    3 |   99.00 |
|    7 | 郑竹   | 1989-07-01 ||    1 |    3 |   99.00 |
|    8 | 王菊   | 1990-01-20 ||    1 |    3 |   99.00 |
|    1 | 赵雷   | 1990-01-01 ||    2 |    1 |   70.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |
|    3 | 孙风   | 1990-05-20 ||    2 |    1 |   70.00 |
|    4 | 李云   | 1990-08-06 ||    2 |    1 |   70.00 |
|    5 | 周梅   | 1991-12-01 ||    2 |    1 |   70.00 |
|    6 | 吴兰   | 1992-03-01 ||    2 |    1 |   70.00 |
|    7 | 郑竹   | 1989-07-01 ||    2 |    1 |   70.00 |
|    8 | 王菊   | 1990-01-20 ||    2 |    1 |   70.00 |
|    1 | 赵雷   | 1990-01-01 ||    2 |    2 |   60.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    2 |   60.00 |
|    3 | 孙风   | 1990-05-20 ||    2 |    2 |   60.00 |
|    4 | 李云   | 1990-08-06 ||    2 |    2 |   60.00 |
|    5 | 周梅   | 1991-12-01 ||    2 |    2 |   60.00 |
|    6 | 吴兰   | 1992-03-01 ||    2 |    2 |   60.00 |
|    7 | 郑竹   | 1989-07-01 ||    2 |    2 |   60.00 |
|    8 | 王菊   | 1990-01-20 ||    2 |    2 |   60.00 |
|    1 | 赵雷   | 1990-01-01 ||    2 |    3 |   80.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    2 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    2 |    3 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    2 |    3 |   80.00 |
|    6 | 吴兰   | 1992-03-01 ||    2 |    3 |   80.00 |
|    7 | 郑竹   | 1989-07-01 ||    2 |    3 |   80.00 |
|    8 | 王菊   | 1990-01-20 ||    2 |    3 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    3 |    1 |   80.00 |
|    2 | 钱电   | 1990-12-21 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    3 |    1 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    3 |    1 |   80.00 |
|    6 | 吴兰   | 1992-03-01 ||    3 |    1 |   80.00 |
|    7 | 郑竹   | 1989-07-01 ||    3 |    1 |   80.00 |
|    8 | 王菊   | 1990-01-20 ||    3 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    3 |    2 |   80.00 |
|    2 | 钱电   | 1990-12-21 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    3 |    2 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    3 |    2 |   80.00 |
|    6 | 吴兰   | 1992-03-01 ||    3 |    2 |   80.00 |
|    7 | 郑竹   | 1989-07-01 ||    3 |    2 |   80.00 |
|    8 | 王菊   | 1990-01-20 ||    3 |    2 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    3 |    3 |   80.00 |
|    2 | 钱电   | 1990-12-21 ||    3 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    3 |    3 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    3 |    3 |   80.00 |
|    6 | 吴兰   | 1992-03-01 ||    3 |    3 |   80.00 |
|    7 | 郑竹   | 1989-07-01 ||    3 |    3 |   80.00 |
|    8 | 王菊   | 1990-01-20 ||    3 |    3 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    4 |    1 |   50.00 |
|    2 | 钱电   | 1990-12-21 ||    4 |    1 |   50.00 |
|    3 | 孙风   | 1990-05-20 ||    4 |    1 |   50.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |
|    5 | 周梅   | 1991-12-01 ||    4 |    1 |   50.00 |
|    6 | 吴兰   | 1992-03-01 ||    4 |    1 |   50.00 |
|    7 | 郑竹   | 1989-07-01 ||    4 |    1 |   50.00 |
|    8 | 王菊   | 1990-01-20 ||    4 |    1 |   50.00 |
|    1 | 赵雷   | 1990-01-01 ||    4 |    2 |   30.00 |
|    2 | 钱电   | 1990-12-21 ||    4 |    2 |   30.00 |
|    3 | 孙风   | 1990-05-20 ||    4 |    2 |   30.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    2 |   30.00 |
|    5 | 周梅   | 1991-12-01 ||    4 |    2 |   30.00 |
|    6 | 吴兰   | 1992-03-01 ||    4 |    2 |   30.00 |
|    7 | 郑竹   | 1989-07-01 ||    4 |    2 |   30.00 |
|    8 | 王菊   | 1990-01-20 ||    4 |    2 |   30.00 |
|    1 | 赵雷   | 1990-01-01 ||    4 |    3 |   20.00 |
|    2 | 钱电   | 1990-12-21 ||    4 |    3 |   20.00 |
|    3 | 孙风   | 1990-05-20 ||    4 |    3 |   20.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    3 |   20.00 |
|    5 | 周梅   | 1991-12-01 ||    4 |    3 |   20.00 |
|    6 | 吴兰   | 1992-03-01 ||    4 |    3 |   20.00 |
|    7 | 郑竹   | 1989-07-01 ||    4 |    3 |   20.00 |
|    8 | 王菊   | 1990-01-20 ||    4 |    3 |   20.00 |
|    1 | 赵雷   | 1990-01-01 ||    5 |    1 |   76.00 |
|    2 | 钱电   | 1990-12-21 ||    5 |    1 |   76.00 |
|    3 | 孙风   | 1990-05-20 ||    5 |    1 |   76.00 |
|    4 | 李云   | 1990-08-06 ||    5 |    1 |   76.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    1 |   76.00 |
|    6 | 吴兰   | 1992-03-01 ||    5 |    1 |   76.00 |
|    7 | 郑竹   | 1989-07-01 ||    5 |    1 |   76.00 |
|    8 | 王菊   | 1990-01-20 ||    5 |    1 |   76.00 |
|    1 | 赵雷   | 1990-01-01 ||    5 |    2 |   87.00 |
|    2 | 钱电   | 1990-12-21 ||    5 |    2 |   87.00 |
|    3 | 孙风   | 1990-05-20 ||    5 |    2 |   87.00 |
|    4 | 李云   | 1990-08-06 ||    5 |    2 |   87.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    2 |   87.00 |
|    6 | 吴兰   | 1992-03-01 ||    5 |    2 |   87.00 |
|    7 | 郑竹   | 1989-07-01 ||    5 |    2 |   87.00 |
|    8 | 王菊   | 1990-01-20 ||    5 |    2 |   87.00 |
|    1 | 赵雷   | 1990-01-01 ||    6 |    1 |   31.00 |
|    2 | 钱电   | 1990-12-21 ||    6 |    1 |   31.00 |
|    3 | 孙风   | 1990-05-20 ||    6 |    1 |   31.00 |
|    4 | 李云   | 1990-08-06 ||    6 |    1 |   31.00 |
|    5 | 周梅   | 1991-12-01 ||    6 |    1 |   31.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    1 |   31.00 |
|    7 | 郑竹   | 1989-07-01 ||    6 |    1 |   31.00 |
|    8 | 王菊   | 1990-01-20 ||    6 |    1 |   31.00 |
|    1 | 赵雷   | 1990-01-01 ||    6 |    3 |   34.00 |
|    2 | 钱电   | 1990-12-21 ||    6 |    3 |   34.00 |
|    3 | 孙风   | 1990-05-20 ||    6 |    3 |   34.00 |
|    4 | 李云   | 1990-08-06 ||    6 |    3 |   34.00 |
|    5 | 周梅   | 1991-12-01 ||    6 |    3 |   34.00 |
|    6 | 吴兰   | 1992-03-01 ||    6 |    3 |   34.00 |
|    7 | 郑竹   | 1989-07-01 ||    6 |    3 |   34.00 |
|    8 | 王菊   | 1990-01-20 ||    6 |    3 |   34.00 |
|    1 | 赵雷   | 1990-01-01 ||    7 |    2 |   89.00 |
|    2 | 钱电   | 1990-12-21 ||    7 |    2 |   89.00 |
|    3 | 孙风   | 1990-05-20 ||    7 |    2 |   89.00 |
|    4 | 李云   | 1990-08-06 ||    7 |    2 |   89.00 |
|    5 | 周梅   | 1991-12-01 ||    7 |    2 |   89.00 |
|    6 | 吴兰   | 1992-03-01 ||    7 |    2 |   89.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    2 |   89.00 |
|    8 | 王菊   | 1990-01-20 ||    7 |    2 |   89.00 |
|    1 | 赵雷   | 1990-01-01 ||    7 |    3 |   98.00 |
|    2 | 钱电   | 1990-12-21 ||    7 |    3 |   98.00 |
|    3 | 孙风   | 1990-05-20 ||    7 |    3 |   98.00 |
|    4 | 李云   | 1990-08-06 ||    7 |    3 |   98.00 |
|    5 | 周梅   | 1991-12-01 ||    7 |    3 |   98.00 |
|    6 | 吴兰   | 1992-03-01 ||    7 |    3 |   98.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    3 |   98.00 |
|    8 | 王菊   | 1990-01-20 ||    7 |    3 |   98.00 |
+------+--------+------------+-------+------+------+---------+
144 rows in set (0.00 sec)

cross join SQL CROSS JOIN 连接用于从两个或者多个连接表中返回记录集的笛卡尔积,即将左表的每一行与右表的每一行合并。18*8=144

mysql> select * from student a left join score b  on(a.s_id=b.s_id)where b.s_score>=80;
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    5 | 周梅   | 1991-12-01 ||    5 |    2 |   87.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    2 |   89.00 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    3 |   98.00 |
+------+--------+------------+-------+------+------+---------+
10 rows in set (0.00 sec)

where限定条件

mysql> select student.s_id ,score.s_id from student left join score  on(student.s_id=score.s_id);
+------+------+
| s_id | s_id |
+------+------+
|    1 |    1 |
|    1 |    1 |
|    1 |    1 |
|    2 |    2 |
|    2 |    2 |
|    2 |    2 |
|    3 |    3 |
|    3 |    3 |
|    3 |    3 |
|    4 |    4 |
|    4 |    4 |
|    4 |    4 |
|    5 |    5 |
|    5 |    5 |
|    6 |    6 |
|    6 |    6 |
|    7 |    7 |
|    7 |    7 |
|    8 | NULL |
+------+------+
19 rows in set (0.00 sec)

单独选列

mysql> select * from student union select * from teacher;
ERROR 1222 (21000): The used SELECT statements have a different number of columns
mysql> select s_id,s_name from student union select t_id,t_name from teacher;
+------+--------+
| s_id | s_name |
+------+--------+
|    1 | 赵雷   |
|    2 | 钱电   |
|    3 | 孙风   |
|    4 | 李云   |
|    5 | 周梅   |
|    6 | 吴兰   |
|    7 | 郑竹   |
|    8 | 王菊   |
|    1 | 张三   |
|    2 | 李四   |
|    3 | 王五   |
+------+--------+
11 rows in set (0.00 sec)

注意union的写法 select*会报错,这里的union实现了拼接效果

mysql> select * from student a,score b,course c where a.s_id=b.s_id and b.c_id= c.c_id group by c_name;
+------+--------+------------+-------+------+------+---------+------+--------+------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score | c_id | c_name | t_id |
+------+--------+------------+-------+------+------+---------+------+--------+------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |    2 | 数学   |    1 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |    3 | 英语   |    3 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |    1 | 语文   |    2 |
+------+--------+------------+-------+------+------+---------+------+--------+------+

group by 还是不太理解

mysql> select * from student a,score b,course c where a.s_id=b.s_id and b.c_id= c.c_id group by s_name;
+------+--------+------------+-------+------+------+---------+------+--------+------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score | c_id | c_name | t_id |
+------+--------+------------+-------+------+------+---------+------+--------+------+
|    6 | 吴兰   | 1992-03-01 ||    6 |    1 |   31.00 |    1 | 语文   |    2 |
|    5 | 周梅   | 1991-12-01 ||    5 |    1 |   76.00 |    1 | 语文   |    2 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |    1 | 语文   |    2 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |    1 | 语文   |    2 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |    1 | 语文   |    2 |
|    7 | 郑竹   | 1989-07-01 ||    7 |    2 |   89.00 |    2 | 数学   |    1 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |    1 | 语文   |    2 |
+------+--------+------------+-------+------+------+---------+------+--------+------+
insert into student_copy(s_id,s_name,s_birthday,s_sex)values('09','汪洋','1999-01-15','男');
Query OK, 1 row affected (0.01 sec)

数据插入

SQL DELETE 语句

DELETE 语句用于删除表中的行。

SQL DELETE 语法

DELETE FROM table_name
WHERE some_column=some_value;

mysql> select * from student_copy;
+------+--------+------------+-------+
| s_id | s_name | s_birthday | s_sex |
+------+--------+------------+-------+
|    1 | 赵雷   | 1990-01-01 ||
|    2 | 钱电   | 1990-12-21 ||
|    3 | 孙风   | 1990-05-20 ||
|    4 | 李云   | 1990-08-06 ||
|    5 | 周梅   | 1991-12-01 ||
|    6 | 吴兰   | 1992-03-01 ||
|    7 | 郑竹   | 1989-07-01 ||
|    8 | 王菊   | 1990-01-20 ||
|    9 | 汪洋   | 1999-01-15 ||
+------+--------+------------+-------+
9 rows in set (0.00 sec)

mysql> delete from student_copy where s_id=9;
Query OK, 1 row affected (0.01 sec)

mysql> select * from student_copy;
+------+--------+------------+-------+
| s_id | s_name | s_birthday | s_sex |
+------+--------+------------+-------+
|    1 | 赵雷   | 1990-01-01 ||
|    2 | 钱电   | 1990-12-21 ||
|    3 | 孙风   | 1990-05-20 ||
|    4 | 李云   | 1990-08-06 ||
|    5 | 周梅   | 1991-12-01 ||
|    6 | 吴兰   | 1992-03-01 ||
|    7 | 郑竹   | 1989-07-01 ||
|    8 | 王菊   | 1990-01-20 ||
+------+--------+------------+-------+
8 rows in set (0.00 sec)

SQL UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。

SQL UPDATE 语法

UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;

mysql> update student_copy
    -> set s_name='王明'
    -> where s_id=9;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student_copy;
+------+--------+------------+-------+
| s_id | s_name | s_birthday | s_sex |
+------+--------+------------+-------+
|    1 | 赵雷   | 1990-01-01 ||
|    2 | 钱电   | 1990-12-21 ||
|    3 | 孙风   | 1990-05-20 ||
|    4 | 李云   | 1990-08-06 ||
|    5 | 周梅   | 1991-12-01 ||
|    6 | 吴兰   | 1992-03-01 ||
|    7 | 郑竹   | 1989-07-01 ||
|    8 | 王菊   | 1990-01-20 ||
|    9 | 王明   | 1999-01-15 ||
+------+--------+------------+-------+
9 rows in set (0.00 sec)

Update 警告!

在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:

UPDATE Websites
SET alexa='5000', country='USA'

执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

二、DDL语句

  • ALTER TABLE 语句用于在已有的表中添加、删除或修改列。alter主要是对列进行一些增加、删除、修改操作

  • 1.增加s_age列ADD

    • ALTER TABLE table_name
      ADD column_name datatype
      

    • mysql> alter table student_copy add s_age int(3) not Null;
      Query OK, 0 rows affected (0.31 sec)
      Records: 0  Duplicates: 0  Warnings: 0
      mysql> select * from student_copy
          -> ;
      +------+--------+------------+-------+-------+
      | s_id | s_name | s_birthday | s_sex | s_age |
      +------+--------+------------+-------+-------+
      |    1 | 赵雷   | 1990-01-01 ||     0 |
      |    2 | 钱电   | 1990-12-21 ||     0 |
      |    3 | 孙风   | 1990-05-20 ||     0 |
      |    4 | 李云   | 1990-08-06 ||     0 |
      |    5 | 周梅   | 1991-12-01 ||     0 |
      |    6 | 吴兰   | 1992-03-01 ||     0 |
      |    7 | 郑竹   | 1989-07-01 ||     0 |
      |    8 | 王菊   | 1990-01-20 ||     0 |
      |    9 | 王明   | 1999-01-15 ||     0 |
      +------+--------+------------+-------+-------+
      9 rows in set (0.00 sec)
      
  • 2.删除s_age列drop

    • ALTER TABLE table_name
      DROP COLUMN column_name
      
    mysql> alter table student_copy
        -> drop column s_age;
    Query OK, 0 rows affected (0.20 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> select * from student_copy;
    +------+--------+------------+-------+
    | s_id | s_name | s_birthday | s_sex |
    +------+--------+------------+-------+
    |    1 | 赵雷   | 1990-01-01 ||
    |    2 | 钱电   | 1990-12-21 ||
    |    3 | 孙风   | 1990-05-20 ||
    |    4 | 李云   | 1990-08-06 ||
    |    5 | 周梅   | 1991-12-01 ||
    |    6 | 吴兰   | 1992-03-01 ||
    |    7 | 郑竹   | 1989-07-01 ||
    |    8 | 王菊   | 1990-01-20 ||
    |    9 | 王明   | 1999-01-15 ||
    +------+--------+------------+-------+
    9 rows in set (0.00 sec)
    
  • 3.修改modify

    • ALTER TABLE table_name
      MODIFY COLUMN column_name datatype
      

      修改主要改字段类型,但是字段类型仍存在一些问题未解决,如何选取最合适的字段并且赋予字段长度

三、查询

1)子查询

子查询或称为内部查询、嵌套查询,指的是在 SQLite 查询中的 WHERE 子句中嵌入查询语句

一个 SELECT 语句的查询结果能够作为另一个语句的输入值

子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,可伴随着使用运算符如 =、<、>、>=、<=、IN、BETWEEN 等。

以下是子查询必须遵循的几个规则:

  • 子查询必须用括号括起来。
  • 子查询在 SELECT 子句中只能有一个列,除非在主查询中有多列,与子查询的所选列进行比较。
  • ORDER BY 不能用在子查询中,虽然主查询可以使用 ORDER BY。可以在子查询中使用 GROUP BY,功能与 ORDER BY 相同。
  • 子查询返回多于一行,只能与多值运算符一起使用,如 IN 运算符
  • BETWEEN 运算符不能与子查询一起使用,但是,BETWEEN 可在子查询内使用
mysql> select * from student a left join score b on(a.s_id=b.s_id)
    -> where a.s_name in(
    -> select s_name from student
    -> where s_sex='男');
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    2 |   60.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    2 |   30.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    3 |   20.00 |
+------+--------+------------+-------+------+------+---------+
12 rows in set (0.55 sec)
mysql> select * from student a left join score b on(a.s_id=b.s_id)  where a.s_sex='男';
+------+--------+------------+-------+------+------+---------+
| s_id | s_name | s_birthday | s_sex | s_id | c_id | s_score |
+------+--------+------------+-------+------+------+---------+
|    1 | 赵雷   | 1990-01-01 ||    1 |    1 |   80.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    2 |   90.00 |
|    1 | 赵雷   | 1990-01-01 ||    1 |    3 |   99.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    1 |   70.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    2 |   60.00 |
|    2 | 钱电   | 1990-12-21 ||    2 |    3 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    1 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    2 |   80.00 |
|    3 | 孙风   | 1990-05-20 ||    3 |    3 |   80.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    1 |   50.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    2 |   30.00 |
|    4 | 李云   | 1990-08-06 ||    4 |    3 |   20.00 |
+------+--------+------------+-------+------+------+---------+
12 rows in set (0.00 sec)

不用子查询反而更快

  • 子查询一些例子

    • 1)查询成绩最低的学生信息

      • mysql> select a.s_name,b.s_score from student_copy a left join score b on (a.s_id=b.s_id)
            -> where b.s_score=(select min(s_score) from score);
        +--------+---------+
        | s_name | s_score |
        +--------+---------+
        | 李云   |   20.00 |
        +--------+---------+
        1 row in set (0.03 sec)
        
        mysql> select a.s_name,b.s_score from student_copy a left join score b on (a.s_id=b.s_id)
            -> where b.s_score=min(b.s_score);
        ERROR 1111 (HY000): Invalid use of group function
        
    • 2)查看平均成绩最低的学生信息

    • 3)查看平均成绩最的学生信

      • 3-1)单表

      • mysql> select avg(s_score) from score group by c_id order by avg(s_score)limit 1;
        +--------------+
        | avg(s_score) |
        +--------------+
        |    64.500000 |
        +--------------+
        1 row in set (0.00 sec)
        
      • 3-2)多表

2)多表关联

3)分组group by

  • 关联stuednt表和score表,得到每个学生的平均成绩,并且按照降序排序。

    • 这里降序排序写错了,应该是order by avg(s_score)

    • mysql> select s_name,avg(s_score) from student_copy a left join score b on(a.s_id=b.s_id)
          -> group by a.s_id
          -> order by b.s_score desc;
      +--------+--------------+
      | s_name | avg(s_score) |
      +--------+--------------+
      | 郑竹   |    93.500000 |
      | 孙风   |    80.000000 |
      | 赵雷   |    89.666667 |
      | 周梅   |    81.500000 |
      | 钱电   |    70.000000 |
      | 李云   |    33.333333 |
      | 吴兰   |    32.500000 |
      | 王菊   |         NULL |
      | 王明   |         NULL |
      +--------+--------------+
      9 rows in set (0.00 sec)
      
    • 得到学生的平均学科成绩最高的 用limit 但注意判断分数是否为空

      mysql> select a.s_name,avg(b.s_score) avg
          -> from student_copy a,score b
          ->  where a.s_id=b.s_id
          -> group by b.s_id
          -> order by avg
          -> desc limit 1;
      +--------+-----------+
      | s_name | avg       |
      +--------+-----------+
      | 郑竹   | 93.500000 |
      +--------+-----------+
      1 row in set (0.00 sec)
      
      • mysql> select * from score where s_score is null;
        Empty set (0.00 sec)
        
        mysql> select * from score where s_score is not null;
        +------+------+---------+
        | s_id | c_id | s_score |
        +------+------+---------+
        |    1 |    1 |   80.00 |
        |    1 |    2 |   90.00 |
        |    1 |    3 |   99.00 |
        |    2 |    1 |   70.00 |
        |    2 |    2 |   60.00 |
        |    2 |    3 |   80.00 |
        |    3 |    1 |   80.00 |
        |    3 |    2 |   80.00 |
        |    3 |    3 |   80.00 |
        |    4 |    1 |   50.00 |
        |    4 |    2 |   30.00 |
        |    4 |    3 |   20.00 |
        |    5 |    1 |   76.00 |
        |    5 |    2 |   87.00 |
        |    6 |    1 |   31.00 |
        |    6 |    3 |   34.00 |
        |    7 |    2 |   89.00 |
        |    7 |    3 |   98.00 |
        +------+------+---------+
        18 rows in set (0.00 sec)
        
        is nulll && is not null 在涉及到数字计算的时候,请分外注意

4)条件查询 where

5)排序 order by

6) 分页limit

索引学习

  1. 建立索引
    建立索引出现mysql> ALTER TABLE 425dongaonews ADD INDEX CONTENT_INDEX(content);
    ERROR 1170 (42000): BLOB/TEXT column ‘content’ used in key specification without a key length的问题

    解决:在表对应text类型列建立索引的时候,要确定该列的长度,具体怎么确定我不知道

    mysql> ALTER TABLE  425dongaonews ADD INDEX CONTENT_INDEX(content);
    ERROR 1170 (42000): BLOB/TEXT column 'content' used in key specification without a key length
    
    mysql> CREATE INDEX content_index  ON 425dongaonews(content(255));
    Query OK, 0 rows affected (1.61 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
  2. 删除索引

    mysql> drop index content_index on 425dongaonews;
    Query OK, 0 rows affected (0.03 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
  3. 对比一下时间

    #有索引
    mysql> select count(*) from 425dongaonews where content like '%羽生结弦%';
    +----------+
    | count(*) |
    +----------+
    |      184 |
    +----------+
    1 row in set (0.99 sec)
    
    mysql>  select count(*) from 425dongaonews where content like '%羽生结弦%';
    +----------+
    | count(*) |
    +----------+
    |      184 |
    +----------+
    1 row in set (0.97 sec)
    

    感觉删完更快了

  4. 查询表中的索引信息

    mysql> show index from 425dongaonews;
    +---------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table         | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +---------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | 425dongaonews |          0 | PRIMARY  |            1 | 序号        | A         |        7848 |     NULL | NULL   |      | BTREE      |         |               |
    +---------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
    
  5. 建立索引的原则

    1. 定义主键的数据列一定要建立索引。

    2. 定义有外键的数据列一定要建立索引。

    3. 对于经常查询的数据列最好建立索引。

    4. 对于需要在指定范围内的快速或频繁查询的数据列;

    5. ***经常用在***WHERE****子句中的数据列。

    6. 经常出现在关键字order by、group by、distinct后面的字段,建立索引。

    如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用。

    1. 对于那些查询中很少涉及的列,重复值比较多的列不要建立索引。

    2. 对于定义为text、image和bit的数据类型的列不要建立索引。

    3. 对于经常存取的列避免建立索

    4. 限制表上的索引数目。对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个。

    索引虽说提高了访问速度,但太多索引会影响数据的更新操作。

    1. 对复合索引,按照字段在查询条件中出现的频度建立索引。在复合索引中,记录首先按照第一个字段排序。

    对于在第一个字段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。

    因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。
    未完待续。。。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值