提到查询,就回到我们第四篇的sql语言分类了,DQL(Data queryLanguage),也就是数据查询语言,实际就是从数据库中获取数据的一种命令方式。我们给数据库发送一个查询语句的命令,数据库按需返回相应的数据。
查询基本语法select column_name1,column_name2,... from tname;
sql 中不区分大小写,select语句中不区分大小写,SELECT和select、FROM和from效果一样。
查询的结果放在一个表格中,表格的第1行称为列头,第2行开始是数据,类属于一个二维数组。
查询单个字段配置字段名称,格式如下:
1 select column_name1 from tname;
1 MysqL> use test; 2 Database changed 3 4 MysqL> select name from user3; 5 +-------+ 6 | name | 7 +-------+ 8 | brand | 9 | sol |10 +-------+11 2 rows in set
查询多个字段
多个字段使用逗号隔开,语法格式如下
column_name1,column_name2,1)">select ID,age,name 5 +----+-----+-------+ 6 | ID | age | name | 7 +----+-----+-------+ 8 | 1 | 20 | brand | 9 | 2 | 22 | sol |10 +----+-----+-------+set
查询所有字段
使用*号通配符来表示,语法格式如下
* from tname;
select * set
常量的查询
对于常量值的查询,可以不来源于表,格式如下
select const1,const2,const3;
1 MysqL> select 100,'brand',1)">1.5;2 +-----+-------+-----+3 | 100 | brand | 1.5 |4 +-----+-------+-----+5 | 6 +-----+-------+-----+7 1 row set
表达式的查询
sql的加减乘除等等表达式的查询,格式如下:
select Expression1,Expression2,...;
1+2,1)">1-1*7,1)">17/17%2+3)*5,1)">8>7=42 +-----+-----+-----+------+------+---------+-----+-----+2 | 7 | 2 | (4 |4 +-----+-----+-----+------+------+---------+-----+-----+5 | 3 | -1 | 8.5 | 1 | 25 | 0 |6 +-----+-----+-----+------+------+---------+-----+-----+set
函数的查询
可以在查询中加上各种类型的系统函数或者用户自定义函数,来简化一些较复杂的查询过程。格式如下:
select func1,func2,func3,...;
select abs(-6),round(5.7),length('),Now();2 +---------+------------+-----------------+---------------------+3 | abs(-6) | round(5.7) | length(') | Now() |4 +---------+------------+-----------------+---------------------+5 | 6 | 6 | 2020-11-06 21:07:41 |6 +---------+------------+-----------------+---------------------+set
表和字段的查询
查询列名都会以列的定义名称显示,这样显示的时候查看不方便,还容易暴露数据库的信息给业务,为了增强脚本可阅读性,我们经常使用字段别名。
设置表的别名更主要的还是在于书写查询语句时候的便利,并避免多表查询时的字段混淆。格式如下:
select talias.column_name1 col1,talias.column_name2 col2 from tname [as] talias;
select u.ID as 主键,u.age as 年龄,u.name as 名称 user3 u; 5 +------+------+-------+ 6 | 主键 | 年龄 | 名称 | 7 +------+------+-------+ 8 | 9 | 2 | 10 +------+------+-------+set混合查询
查询具体表的字段是可以跟表达式,常量等混合在一起的,这样才能应付复杂的业务。
中国2020人口普查' as 标题,u.ID as 名称,Now() as 查询时间,1)">2020*rand() as 随机数 2 +------------------+------+------+-------+---------------------+--------------------+3 | 标题 | 主键 | 年龄 | 名称 | 查询时间 | 随机数 |4 +------------------+------+------+-------+---------------------+--------------------+5 | 中国2020人口普查 | 20 | brand | 23:39 | 1236.3585094328582 |6 | 中国2020人口普查 | 22 | sol | 344.21752367561453 |7 +------------------+------+------+-------+---------------------+--------------------+8 set总结
1、本片只是查询的基础篇,后续会引出 查询的过滤条件、排序、分页、分组、正则匹配过滤,以及复杂查询的性能优化等等。
2、查询数据的时候,应遵循应需而查,查询需要的字段即可,切勿随意的使用*,数据量大的时候性能差距就明显了。
总结以上是内存溢出为你收集整理的MySQL全面瓦解6:查询的基本 *** 作全部内容,希望文章能够帮你解决MySQL全面瓦解6:查询的基本 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)