欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【SQL 基础入门 1. -- SQL 基本语法详解及举例】

【SQL 基础入门 1. -- SQL 基本语法详解及举例】

2025/6/6 9:27:06 来源:https://blog.csdn.net/sinat_32960911/article/details/147413880  浏览:    关键词:【SQL 基础入门 1. -- SQL 基本语法详解及举例】

文章目录

    • SQL 数据库创建及使用
      • 删除数据库
      • SQL 查看数据空中有哪些表格
      • SQL 创建表格
      • SQL 修改表格列数据格式
        • SQL 表格插入数据
        • SQL 查看表格类型组成
        • SQL 查看表格中的内容
    • SQL 查询语句
      • SQL 查看指定列
      • SQL 选择指定列
      • SQL 按指定列进行升序排序
      • SQL 平均值/求和/最大值/最小值

SQL 数据库创建及使用

创建新的数据库时,如果该数据库已经存在,则会出现错误,所以我们在创建新的数据库时一般会判断该数据库是否存在,如果已存在,则不会创建。

学习SQL 时建议大家自己搭建一个 linux虚拟机环境:可以参考 https://www.cnblogs.com/EthanS/p/18211302

mysql> create database if not exists test;
Query OK, 1 row affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

删除数据库

drop database test;

为了避免出现错误,我们一般会先判断该数据库是否存在,如果不存在,则不会删除。

drop database if exists test;

SQL 查看数据空中有哪些表格

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| employee       |
+----------------+
1 row in set (0.00 sec)

SQL 创建表格

mysql> create table employee( id int, name varchar(40), sex varchar(4), birthday date, entry_date date, salary decimal(8,2), resume text );
Query OK, 0 rows affected (0.01 sec)

SQL 修改表格列数据格式

mysql> alter table employee modify column salary int;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

修改之后如下:

mysql> desc employee;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id         | int          | YES  |     | NULL    |       |
| name       | varchar(40)  | YES  |     | NULL    |       |
| sex        | varchar(4)   | YES  |     | NULL    |       |
| birthday   | date         | YES  |     | NULL    |       |
| entry_date | date         | YES  |     | NULL    |       |
| salary     | int          | YES  |     | NULL    |       |
| resume     | varchar(128) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
SQL 表格插入数据
mysql> insert into employee(id,name,sex,birthday,entry_date,salary,resume) values(4,'sunliu','female','1998-05-04','2020-08-10','4500','i am a developer');
Query OK, 1 row affected (0.00 sec)

插入一行后如下:

mysql> select * from employee;
+------+----------+------+------------+------------+--------+------------------+
| id   | name     | sex  | birthday   | entry_date | salary | resume           |
+------+----------+------+------------+------------+--------+------------------+
|    1 | zhangsan | male | 1993-03-04 | 2016-11-10 |   1000 | i am a developer |
+------+----------+------+------------+------------+--------+------------------+
1 row in set (0.00 sec)
SQL 查看表格类型组成
mysql> desc employee;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id         | int          | YES  |     | NULL    |       |
| name       | varchar(40)  | YES  |     | NULL    |       |
| sex        | varchar(8)   | YES  |     | NULL    |       |
| birthday   | date         | YES  |     | NULL    |       |
| entry_date | date         | YES  |     | NULL    |       |
| salary     | int          | YES  |     | NULL    |       |
| resume     | varchar(128) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
SQL 查看表格中的内容

插入多行数据之后,查看表格内容

mysql> select * from employee;
+------+----------+--------+------------+------------+--------+------------------+
| id   | name     | sex    | birthday   | entry_date | salary | resume           |
+------+----------+--------+------------+------------+--------+------------------+
|    1 | zhangsan | male   | 1993-03-04 | 2016-11-10 |   1000 | i am a developer |
|    2 | lisi     | male   | 1992-01-04 | 2017-11-10 |   1500 | i am a waiter    |
|    3 | wangwu   | female | 1990-02-04 | 2019-11-10 |   2500 | i am a developer |
|    4 | sunliu   | female | 1998-05-04 | 2020-08-10 |   4500 | i am a developer |
+------+----------+--------+------------+------------+--------+------------------+
4 rows in set (0.00 sec)

SQL 查询语句

SQL 查看指定列

mysql> select name, sex from employee;
+----------+--------+
| name     | sex    |
+----------+--------+
| zhangsan | male   |
| lisi     | male   |
| wangwu   | female |
| sunliu   | female |
+----------+--------+
4 rows in set (0.00 sec)

SQL 选择指定列

mysql> select birthday from employee where birthday = '1990-02-04';
+------------+
| birthday   |
+------------+
| 1990-02-04 |
+------------+
1 row in set (0.00 sec)

SQL 按指定列进行升序排序

mysql> select salary from employee order by salary ASC;
+--------+
| salary |
+--------+
|   1000 |
|   1500 |
|   2500 |
|   4500 |
+--------+
4 rows in set (0.00 sec)mysql> select salary from employee order by salary DESC;
+--------+
| salary |
+--------+
|   4500 |
|   2500 |
|   1500 |
|   1000 |
+--------+
4 rows in set (0.00 sec)

SQL 平均值/求和/最大值/最小值

mysql> select avg(salary) from employee;
+-------------+
| avg(salary) |
+-------------+
|   2375.0000 |
+-------------+
1 row in set (0.00 sec)mysql> select count(*) from employee;
+----------+
| count(*) |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)mysql> select max(salary) from employee;
+-------------+
| max(salary) |
+-------------+
|        4500 |
+-------------+
1 row in set (0.00 sec)mysql> select min(salary) from employee;
+-------------+
| min(salary) |
+-------------+
|        1000 |
+-------------+
1 row in set (0.00 sec)mysql> select sum(salary) from employee;
+-------------+
| sum(salary) |
+-------------+
|        9500 |
+-------------+
1 row in set (0.00 sec)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词