MySQL Basic Operations (Medium)

Addition, deletion, modification and query of database


Table of contents

One, increase

 Second, check

1. Full column query

2. Specified column query

3. The query field is an expression

4. Alias ​​query

5. Deduplication query

6. Sort queries

1) ascending order

2) descending order

7. Condition query

 1) Basic query

2) and and or query

3) range query

4) Fuzzy query

8. Paging query

Three, change

Four, delete


One, increase

 语法: create table 表名;
 
 create table user(id int,id_name varchar(30),sex varchar(20));//创建一个表

 insert into user values(1,'张三','男');//全列插入数据

 insert into user (id,id_name) values(1,'张三');//制定列插入数据

 Second, check

1. Full column query

语法:select * from 表名;//全列查询

mysql> drop table user;
Query OK, 0 rows affected (0.02 sec)

mysql> create table student(name varchar(20),chinese int,math int,english int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into student values('张三',82,90,75);
Query OK, 1 row affected (0.01 sec)

mysql> insert into student values('李四',85,82,90);
Query OK, 1 row affected (0.01 sec)

mysql> insert into student values('王五',84,90,90);
Query OK, 1 row affected (0.01 sec)

mysql> select * from student;
+------+---------+------+---------+
| name | chinese | math | english |
+------+---------+------+---------+
| 张三 |      82 |   90 |      75 |
| 李四 |      85 |   82 |      90 |
| 王五 |      84 |   90 |      90 |
+------+---------+------+---------+

2. Specified column query

//查询姓名和语文成绩字段
mysql> select name,chinese from student;
+------+---------+
| name | chinese |
+------+---------+
| 张三 |      82 |
| 李四 |      85 |
| 王五 |      84 |
+------+---------+
3 rows in set (0.00 sec)

3. The query field is an expression

//查询姓名,以及三科成绩的总和
mysql> select name ,chinese+math+english from student;
+------+----------------------+
| name | chinese+math+english |
+------+----------------------+
| 张三 |                  247 |
| 李四 |                  257 |
| 王五 |                  264 |
+------+----------------------+
3 rows in set (0.00 sec)

4. Alias ​​query

mysql> select name ,chinese+math+english from student;
+------+----------------------+
| name | chinese+math+english |
+------+----------------------+
| 张三 |                  247 |
| 李四 |                  257 |
| 王五 |                  264 |
+------+----------------------+
3 rows in set (0.00 sec)

//这里我们把三科成绩起了个别名,在视觉上,可以更直观的看出
mysql> select name ,chinese+math+english as tetol from student;
+------+-------+
| name | tetol |
+------+-------+
| 张三 |   247 |
| 李四 |   257 |
| 王五 |   264 |
+------+-------+
3 rows in set (0.00 sec)

5. Deduplication query

mysql> select english from student;
+---------+
| english |
+---------+
|      75 |
|      90 |
|      90 |
+---------+
3 rows in set (0.00 sec)

//去重查询使用关键字distinct
mysql> select distinct english from student;
+---------+
| english |
+---------+
|      75 |
|      90 |
+---------+
2 rows in set (0.00 sec)

6. Sort queries

1) ascending order

//使用order by 关键字进行升序
mysql> select chinese from student order by chinese;
+---------+
| chinese |
+---------+
|      82 |
|      84 |
|      85 |
+---------+
3 rows in set (0.00 sec)

2) descending order

//在order by的基础上,增加desc关键字进行降序;
mysql> select chinese from student order by chinese desc;
+---------+
| chinese |
+---------+
|      85 |
|      84 |
|      82 |
+---------+
3 rows in set (0.00 sec)

7. Condition query

 1) Basic query

//查询语文成绩大于82分以上(不包括82)的同学
mysql> select name from student where chinese>82;
+------+
| name |
+------+
| 李四 |
| 王五 |
+------+
2 rows in set (0.00 sec)

2) and and or query

//查询语文成绩大于82,并且数学成绩大于82的同学
mysql> select name from student where chinese>82 and math>82;
+------+
| name |
+------+
| 王五 |
+------+
1 row in set (0.00 sec)



//查询语文成绩大于82,或者数学成绩大于82的同学
mysql> select name from student where chinese>82 or math>82;
+------+
| name |
+------+
| 张三 |
| 李四 |
| 王五 |
+------+
3 rows in set (0.00 sec)

3) range query

//查询语文成绩在84到85之间的同学
mysql> select name from student where chinese between 84 and 85;
+------+
| name |
+------+
| 李四 |
| 王五 |
+------+
2 rows in set (0.00 sec)

4) Fuzzy query

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |      82 |   90 |      75 |
| 李四   |      85 |   82 |      90 |
| 王五   |      84 |   90 |      90 |
| 张伟   |      99 |   89 |      78 |
| 张大大 |     100 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

//    %可以匹配任意多个字符
mysql> select name from student where name like '张%';
+--------+
| name   |
+--------+
| 张三   |
| 张伟   |
| 张大大 |
+--------+
3 rows in set (0.00 sec)

//   _只能匹配一个任意字符
mysql> select name from student where name like '张_';
+------+
| name |
+------+
| 张三 |
| 张伟 |
+------+
2 rows in set (0.00 sec)

8. Paging query

//使用limit关键字进行分页查询
mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |      82 |   90 |      75 |
| 李四   |      85 |   82 |      90 |
| 王五   |      84 |   90 |      90 |
| 张伟   |      99 |   89 |      78 |
| 张大大 |     100 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

mysql> select chinese from student limit 3;
+---------+
| chinese |
+---------+
|      82 |
|      85 |
|      84 |
+---------+
3 rows in set (0.00 sec)

mysql> select chinese from student limit 3,5;
+---------+
| chinese |
+---------+
|      99 |
|     100 |
+---------+
2 rows in set (0.00 sec)

mysql> select chinese from student limit 3 offset 0;
+---------+
| chinese |
+---------+
|      82 |
|      85 |
|      84 |
+---------+
3 rows in set (0.00 sec)

mysql> select chinese from student limit 3 offset 3;
+---------+
| chinese |
+---------+
|      99 |
|     100 |
+---------+
2 rows in set (0.00 sec)

Three, change

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |      82 |   90 |      75 |
| 李四   |      85 |   82 |      90 |
| 王五   |      84 |   90 |      90 |
| 张伟   |      99 |   89 |      78 |
| 张大大 |     100 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

//将张三的数学成绩改为100
mysql> update student set math=100 where name='张三';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |      82 |  100 |      75 |
| 李四   |      85 |   82 |      90 |
| 王五   |      84 |   90 |      90 |
| 张伟   |      99 |   89 |      78 |
| 张大大 |     100 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

//将张三的语文成绩改为90,数学成绩改成100;
mysql> update student set chinese=90, math=100 where name='张三';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

//将所有同学的语文成绩都加10分;
mysql> update student set chinese=chinese+10;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |     100 |  100 |      75 |
| 李四   |      95 |   82 |      90 |
| 王五   |      94 |   90 |      90 |
| 张伟   |     109 |   89 |      78 |
| 张大大 |     110 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

Four, delete

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 张三   |     100 |  100 |      75 |
| 李四   |      95 |   82 |      90 |
| 王五   |      94 |   90 |      90 |
| 张伟   |     109 |   89 |      78 |
| 张大大 |     110 |   59 |      78 |
+--------+---------+------+---------+
5 rows in set (0.00 sec)

//删除张三同学的所有成绩
mysql> delete from student where name='张三';
Query OK, 1 row affected (0.01 sec)

mysql> select * from student;
+--------+---------+------+---------+
| name   | chinese | math | english |
+--------+---------+------+---------+
| 李四   |      95 |   82 |      90 |
| 王五   |      94 |   90 |      90 |
| 张伟   |     109 |   89 |      78 |
| 张大大 |     110 |   59 |      78 |
+--------+---------+------+---------+
4 rows in set (0.00 sec)

Guess you like

Origin blog.csdn.net/m0_63635730/article/details/129215902