mysql入门1_环境安装 简单查询

mysql入门学习

linux环境安装mysql和配置

这里直接引用网友的链接

解决Mysql存储中文的问题 - 神奕 - 博客园 (cnblogs.com) mysql安装完后设置支持中文,只对设置后创建的db生效
 

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 |
+-----+

posted @ 2021-09-01 23:00  flag_HW  阅读(54)  评论(0)    收藏  举报