数据库之MySQL——基本常用查询命令
目录
这些是我学习中比较常用的基础命令和理解,欢迎初学者一起学习讨论。
MySQL数据库常用基础命令
前述:学习,需要打好坚实的基础,具有扎实的基础才能循序渐进,学好之后的其他命令。(加油吧!!学习大军)
一、基础查询命令语法
SELECT 查询列表 FROM 表名
特点:
1、查询列表可以是 表中的字段、常量值、表达式、函数
2、查询到的结果集是虚拟的一张表(在数据库中不存在的一张表)
练习:
#首先创建一个新的数据库
CREATE DATABASE IF NOT EXISTS test;
#进入创建好的数据库
USE test;
#创建新表
CREATE TABLE IF NOT EXISTS test_tb(id int(5),name varchar(10));
#插入几条数据(插入数据命令后期会讲到)
INSERT INTO test_tb VALUES(1,"K"),(2,"J"),(3,"L");
#在MySQL中 关键字均以大写形式规范
#查询语法
#SELECT 查询列表 FROM 表名
#查询单个字段
mysql> SELECT id FROM test_tb;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
+----+
4 rows in set (0.04 sec)
#查询多个字段
mysql> SELECT id,name FROM test_tb;
+----+------+
| id | name |
+----+------+
| 1 | K |
| 2 | J |
| 3 | L |
| 4 | h |
+----+------+
4 rows in set (0.03 sec)
#查询全部字段
#方式一
mysql> SELECT * FROM test_tb;
+----+------+
| id | name |
+----+------+
| 1 | K |
| 2 | J |
| 3 | L |
| 4 | h |
+----+------+
4 rows in set (0.03 sec)
#方式二
mysql> SELECT id,name FROM test_tb;
+----+------+
| id | name |
+----+------+
| 1 | K |
| 2 | J |
| 3 | L |
| 4 | h |
+----+------+
4 rows in set (0.03 sec)
#查询常量值
mysql> SELECT 100;
+-----+
| 100 |
+-----+
| 100 |
+-----+
1 row in set (0.03 sec)
mysql> SELECT "string";
+--------+
| string |
+--------+
| string |
+--------+
1 row in set (0.03 sec)
#查询表达式
mysql> SELECT 100+2;
+-------+
| 100+2 |
+-------+
| 102 |
+-------+
1 row in set (0.03 sec)
mysql> SELECT 100-2;
+-------+
| 100-2 |
+-------+
| 98 |
+-------+
1 row in set (0.03 sec)
mysql> SELECT 100*2;
+-------+
| 100*2 |
+-------+
| 200 |
+-------+
1 row in set (0.03 sec)
mysql> SELECT 100/2;
+---------+
| 100/2 |
+---------+
| 50.0000 |
+---------+
1 row in set (0.03 sec)
#查询函数
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.33 |
+-----------+
1 row in set (0.03 sec)
案例:查询test_tb表中所有的id
SELECT id FROM test_tb;
二、给查询的结果集 起别名
别名:顾名思义,是另外起一个名称,因为查询的结果集是一个虚拟的表,因此是没有名字的只有所查询的表的字段名,所以为了方便查看和理解,我们要学会给表起别名。
特点
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来
#起别名:
#方式一:使用AS
SELECT 100*2 AS 结果;
mysql> SELECT 100*2 AS 结果;
+------+
| 结果 |
+------+
| 200 |
+------+
1 row in set (0.04 sec)
SELECT id AS id号 FROM test_tb;
mysql> SELECT id AS id号 FROM test_tb;
+------+
| id号 |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.03 sec)
#方式二:使用空格
SELECT 100*2 结果;
mysql> SELECT 100*2 结果;
+------+
| 结果 |
+------+
| 200 |
+------+
1 row in set (0.04 sec)
SELECT id id号 FROM test_tb;
mysql> SELECT id id号 FROM test_tb;
+------+
| id号 |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.04 sec)
#案例: 查询test_tb表 name字段 起别名为 out put
mysql> mysql> SELECT name out put FROM test_tb;
1064 - 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 'mysql> SELECT name out put FROM test_tb' at line 1
#直接使用报错
mysql> SELECT name "out put" FROM test_tb;
+---------+
| out put |
+---------+
| K |
| J |
| L |
| h |
+---------+
4 rows in set (0.03 sec)
#由于起的别名中有空格,MySQL不能直接识别,所以需要把含有空格的用双引号引住。
三、去重查询操作
去重操作是为了防止不必要的重复而设置的。
#先在我们要查询的表中添加几行id相同的数据
mysql> INSERT INTO test_tb VALUES(1,"A"),(4,"q"),(4,"w");
Query OK, 3 rows affected (0.13 sec)
Records: 3 Duplicates: 0 Warnings: 0
#添加数据成功
#先查询一下表中的全部数据
mysql> SELECT * FROM test_tb;
+----+------+
| id | name |
+----+------+
| 1 | K |
| 2 | J |
| 3 | L |
| 4 | h |
| 1 | A |
| 4 | q |
| 4 | w |
+----+------+
7 rows in set (0.03 sec)
#一共有七条数据
mysql> SELECT id FROM test_tb;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 1 |
| 4 |
| 4 |
+----+
7 rows in set (0.03 sec)
#去重查询(DISTINCT)
mysql> SELECT DISTINCT id FROM test_tb;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
+----+
4 rows in set (0.03 sec)
四、MySQL中“+”号运算符
#mysql中的+号:
#只有一个功能:就是作运算符
#两个查询值都是数值型,则做加法运算
mysql> SELECT 100+90;
+--------+
| 100+90 |
+--------+
| 190 |
+--------+
1 row in set (0.03 sec)
#只要其中一方为字符型,试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算
mysql> select '100'+90;
+----------+
| '100'+90 |
+----------+
| 190 |
+----------+
1 row in set (0.03 sec)
#如果转换失败,则将字符型数值转换成0
mysql> SELECT 'k'+100;
+---------+
| 'k'+100 |
+---------+
| 100 |
+---------+
1 row in set (0.03 sec)
#只要其中一方为null,则结果肯定为null
mysql> SELECT null+100;
+----------+
| null+100 |
+----------+
| NULL |
+----------+
1 row in set (0.03 sec)
#MySQL中的连结运算是CONCAT
#案例查询id,name并连接结;
mysql> SELECT CONCAT(id,name) AS 连结 FROM test_tb;
+------+
| 连结 |
+------+
| 1K |
| 2J |
| 3L |
| 4h |
| 1A |
| 4q |
| 4w |
+------+
7 rows in set (0.04 sec)
最后附上实验中使用的sql数据,如果想要练习,可以直接拿去
链接: https://pan.baidu.com/s/1YkJMvhI17RE0pln8wQx5Ag 提取码: evfg
这些是我学习中比较常用的基础命令和理解,欢迎初学者一起学习讨论。
本文来自博客园,作者:knsec,转载请注明原文链接:https://www.cnblogs.com/knsec-cnblogs/p/16582273.html