Mysql快速复习(一)基础

本文详细介绍了SQL的基本操作,包括选择数据库、显示表列、使用select语句检索数据、排序及过滤数据的方法。通过实际例子展示了如何高效地管理和查询数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下文数据库名选用meter,表名选用elec。

如图:


一:基础

1.选择数据库

  use meter;

  分析:use语句并不返回任何结果,依赖于使用的客户机,显示某种形式的通知。


2.显示数据库

  show databases;

  显示数据表:show tablels;


3.显示表列

  show columns from elec;   

  或者使用:describe elec;


4.所支持的其他show语句有:

  show status;  用于显示广泛的服务器状态信息。

  show create database; 和  show create table 分别用来显示创建的特定数据库或表的MySQL语句。

  show grants:用来心事授权用户的安全权限。

  show errors; 和 show warnings;用来显示服务器错误或警告信息。


二:select语句

1.从products表中选择2列

select id,name from elec;

将会显示id和name列的所有内容。


2.检索所有列

select * from elec;

3.select检索时会显示所有匹配的行,比如Id都为1007都会被显示。

假如你只想检索不同的值的列表呢:

select distinct id from elec;   则只会显示id不同的所有行。


4.限制检索结果。为了返回第一行或前几行,可使用limit语句。

select id from elec limit 5;   指示mysql显示不多于5行。

为了得出下一个5行,可使用:select id from elec limit 5,5;      指示从第五行开始的后五行。


5.使用完全限定的列名和表名

select elec.id from elec;     限定列名,这个和检索某一列功能一样。

select elec.id from smart_meter.elec;    后面同时限定了表名


三:排序检索数据

1.排序

select id from elec order by id;    指示mysql按照id进行排序


2.按照多个列排序

selet id,name from elec order by id, name;   指示mysql首先按照id排序,其次按照name排序


3.指定排序方向

select id,name from elec order by id desc;       指示mysql按照id降序排序

升序的关键字是ASC,实际上asc没有多大用处,因为升序是默认的。


4.使用order by 和 limit 的组合,能够找出一个列中最高或最低的值

select id from elec order by id desc limit 2;              返回一个列中最低的两个值


四:过滤和检索数据

1.使用where子句
select id from elec where id = 1002;

注意:同时使用where子句和order by子句时,应该让order by位于where之后,否则将产生错误。

mysql的where子句支持下列操作符:





2.范围值检查
select id from elec where id between 1002 and 1007;


2.检查单个值
select id from elec where id < 1002;


3.不匹配检查
select id from elec where id <> 1002;

4.空值检查
select id from where id is NULL;

五:数据过滤

mysql支持and 和 or 等操作符。

1.select id from elec where id = 10 or id = 1003;

and 操作符比 or操作符 优先级高。

2.想用and和or时,控制优先级可用括号
如:select id from elec where (id = 1002 or id = 1004) and id > 1001;

3.in操作符
select id from where id in (1002, 1004) order by id;                in操作符其实完成了与or相同的功能

4.not 操作符
where子句中not操作符有且只有一个功能,那就是否定它之后所有跟的任何条件。
如:select id from elec where id not in (1002, 1007) order by id;


六:用通配符进行过滤

为在搜索子句中使用通配符,必须使用LIKE操作符。LIKE指示mysql在后跟的搜索模式中利用通配符匹配而不是直接相等匹配进行比较。
谓词:操作符何时不是操作符?答案是它作为谓词,从技术上说,LIKE是谓词而不是操作符,虽然最终的结果是相同的,但应该对此术语有所了解。

1.百分号%通配符
最长使用的通配符是%,在搜索串中,%表示任何字符的出现任意次数。
例如:select id from elec where id like '100%';
那么id开头是10的所有行都会被显示出来。

2.select id from elec where id like '%00%;
表示通配前后任意的词。

%还可通配0个,1个,或多个字符。虽然通配符可以匹配任何东西,但有一个例外,就是NULL

3.下划线通配符_
与%用途一样,但是只匹配单个字符而不是多个字符。


使用表别名

SELECT 语句的可读性可通过为表指定别名来提高,别名也称为相关名称或范围变量。分配表别名时,可以使用 AS 关键字,也可以不使用:

  • table_name AStable alias

  • table_name table_alias

在以下示例中,将别名 c 分配给 Customer,而将别名 s 分配给 Store





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值