mysql入门1_环境安装 简单查询
mysql入门学习
linux环境安装mysql和配置
这里直接引用网友的链接
sql的分类
绝大部分数据库都是使用sql语言进行操作的,mysql也不例外。下面是sql语言按照操作对象类型进行的分类
- DML(Data Manipulation Language)数据操作语言,用于数据的检索和修改
- DDL(Data Definetion Language)数据定义语言,用于定义数据的结构,创建、修改、删除数据库对象
- DCL(Data Control Language)数据控制语言,用于控制数据库权限
mysql的简单查询
直接查询
语法:select *|column_name1,column_name2.... from table_name;
其中*表示查询所有列,column_name是列名,也可以使用‘,’将多个列名隔开来查询指定列。 table_name是表名。
示例:
mysql> SELECT * FROM student;
+-----+--------+------+---------------------+-------+----------+
| sno | sname | ssex | sbirthday | class | romemate |
+-----+--------+------+---------------------+-------+----------+
| 101 | 李军 | 男 | 1976-02-20 00:00:00 | 95033 | 103 |
| 103 | 陆君 | 男 | 1974-06-03 00:00:00 | 95031 | 101 |
mysql> SELECT sno,sname FROM student;
+-----+--------+
| sno | sname |
+-----+--------+
| 101 | 李军 |
| 103 | 陆君 |
修改查询结果的列名显示
语法:select column_name1 as new_name1,column_name2 as new_name2.... from table_name;
其中new_name是查询结果集中对column_name列的显示
示例:
mysql> SELECT sno AS '学号',sname AS '姓名' FROM student;
+--------+--------+
| 学号 | 姓名 |
+--------+--------+
| 101 | 李军 |
| 103 | 陆君 |
查询结果去重
语法:select DISTINCT column_name1 ,column_name2.... from table_name;
DISTINCT关键字后可以跟一个或者多个列名,对这些列名的组合进行去重
示例:
mysql> SELECT DISTINCT sno FROM score;
+-----+
| sno |
+-----+
| 103 |
| 105 |
| 109 |
+-----+
3 rows in set (0.00 sec)
mysql> SELECT DISTINCT sno,cno FROM score;
+-----+-------+
| sno | cno |
+-----+-------+
| 103 | 3-245 |
| 105 | 3-245 |
| 109 | 3-245 |
| 103 | 3-105 |
| 105 | 3-105 |
| 109 | 3-105 |
| 103 | 6-166 |
| 105 | 6-166 |
| 109 | 6-166 |
+-----+-------+
9 rows in set (0.00 sec)
查询结果与字符串拼接
语法:SELECT CONCAT("自定义字符串", column_name) FROM table_name;
CONCAT("自定义字符串", column_name)是字符串拼接函数,将自定义字符串拼接在查询结果之前;可以嵌套使用。旗输出结果是1列
示例:
mysql> SELECT CONCAT(CONCAT(CONCAT("学号", sno), "成绩"), degree) as CONCAT_eg FROM score;
+-------------------+
| CONCAT_eg |
+-------------------+
| 学号103成绩86 |
| 学号105成绩75 |
使用表的别名进行查询
语法:select a.cloumn_name1,a.cloumn_name1 from table_name as a;
将table_name使用别名a替代,查询列指明哪张表的列,多表查询时会使用到
mysql> SELECT sc.sno,sc.degree FROM score as sc;
+-----+--------+
| sno | degree |
+-----+--------+
| 103 | 86 |
| 105 | 75 |
查询过程中对数据进行处理
下面示例为查询过程中对degree字段+1处理
mysql> SELECT sc.sno,sc.degree as old_degree,sc.degree+1 as new_degree FROM score as sc;
+-----+------------+------------+
| sno | old_degree | new_degree |
+-----+------------+------------+
| 103 | 86 | 87 |
| 105 | 75 | 76 |
单行单列虚拟表dual
dual是为了在某些场合符合sql语法的单行单列虚拟表,使用示例如下
mysql> select 1+1 from dual;
+-----+
| 1+1 |
+-----+
| 2 |
+-----+
浙公网安备 33010602011771号