SQL里那些查询表的命令到底怎么用,顺便说说创建和删表的事儿
- 问答
- 2025-12-28 13:19:42
- 2
说到SQL里查表的命令,最核心的就是SELECT语句,这个东西就像是你的眼睛,用来查看数据库表里到底有什么数据,它的基本样子很简单,就是SELECT ... FROM ...。FROM后面跟着你要看的那个表的名字,SELECT后面跟着你想看哪些列。
你有一个叫“学生信息”的表,里面有“姓名”、“学号”、“年龄”这几列,如果你想知道所有学生的名字,你就写SELECT 姓名 FROM 学生信息,这条命令就像是在对数据库说:“嘿,从‘学生信息’那个表里,把所有人的‘姓名’那一列拿给我看看。”数据库就会乖乖地返回一列名字。
但通常我们不会只看一列,你想看所有信息,可以用一个星号,它代表“所有列”,所以SELECT * FROM 学生信息就会把整个表,所有行所有列的数据都展示给你,在实际工作中,尤其当表很大的时候,直接用不是个好习惯,因为可能会返回海量数据,拖慢速度,最好还是明确指定你需要的那几列,比如SELECT 学号, 姓名 FROM 学生信息。

光看全部数据可能不够,我们经常需要找点特定的东西,这时候就要用WHERE子句来加条件了,它像个筛子,你想找年龄等于18岁的学生,命令就写成SELECT * FROM 学生信息 WHERE 年龄 = 18。WHERE后面可以接很多种条件,大于(>)、小于(<)、不等于(<>)、包含某个文字(LIKE '%关键词%')等等,这个LIKE的百分号是个通配符,代表任意字符,'%张%'就能找出所有名字里带“张”字的学生。
查出来的数据顺序可能是乱的,如果你想按年龄从小到大排序,就在最后加上ORDER BY 年龄 ASC。ASC是升序,从小到大;如果想从大到小,就换成DESC,写成ORDER BY 年龄 DESC,这样结果就整齐多了。
有时候表里的数据有重复,比如你想知道这个学校的学生都来自哪些不同的城市,但直接SELECT 城市 FROM 学生信息会把每个学生的城市都列出来,重复很多,这时可以用DISTINCT关键字来去重,写成SELECT DISTINCT 城市 FROM 学生信息,数据库就会返回不重复的城市列表。

这些SELECT, FROM, WHERE, ORDER BY, DISTINCT组合起来,已经能解决大部分查看数据的需求了,根据W3Schools的SQL教程(这是一个非常流行的SQL学习网站),这些是构成SQL查询最基础也是最必要的部分。
说完了怎么看表,再说说怎么建表和删表,这两个命令权限比较高,一般不会天天用,但很重要。
创建表用的是CREATE TABLE命令,你不仅要告诉数据库新表叫什么名字,还得详细规定这个表的结构,也就是它有哪些列,每列存什么类型的数据,我们要创建上面提到的“学生信息”表,可能需要这么写:

CREATE TABLE 学生信息 (
学号 INT PRIMARY KEY,
姓名 VARCHAR(50),
年龄 INT,
城市 VARCHAR(50)
);
这条命令的意思是:创建一个名为“学生信息”的表,它有四列:
- “学号”列,数据类型是
INT(整数),并且被指定为PRIMARY KEY(主键),主键是这个表里每行数据的唯一标识,不能重复,就像每个人的身份证号。 - “姓名”列,数据类型是
VARCHAR(50),意思是可变长度的字符串,最长能存50个字符。 - “年龄”列,是
INT类型。 - “城市”列,也是
VARCHAR(50)类型。
你看,建表就像是在画一个空白的表格模板,先把标题栏(列名)和每一列允许填写的格式(数据类型)定好,数据是后面再用INSERT语句一行行填进去的。
删表,命令极其简单,但也极其危险:DROP TABLE 表名,比如DROP TABLE 学生信息,这条命令一执行,整个“学生信息”表,连同它里面所有的数据,会立刻被删除,而且通常无法恢复,所以执行这个命令一定要万分小心,确保你真的不再需要这个表了,根据数据库管理的基本规范,在执行这种破坏性操作前,最好有备份数据的习惯。
SELECT是你最常用的眼睛,用来查看和筛选数据;CREATE TABLE是打地基,定义数据的存放结构;DROP TABLE则是推土机,能瞬间清除所有痕迹,先把这几个最根本的命令弄明白,你就迈进了SQL大门的第一步。
本文由太叔访天于2025-12-28发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/70051.html
