当前位置:首页 > 问答 > 正文

快速上手SQL语法,教你轻松搭建自己的数据库,入门不难别怕复杂

来源整合自W3Schools的SQL教程、廖雪峰的SQL教程以及一些常见的数据库入门实践)

想学SQL又觉得它很深奥?别担心,今天我们就用最直白的话,像学做一道新菜一样,一步步带你快速上手SQL,让你能轻松搭建和管理自己的小数据库,SQL就像是和数据库“说话”的语言,你下命令,它来执行,一点也不神秘。

第一步:先搞个“桌子”——创建数据库和表

想象一下,你要开一家小店,首先得有个仓库(数据库),然后在仓库里摆上货架(表),货架上用来存放不同类别的商品(数据)。

  1. 创建仓库(数据库): CREATE DATABASE my_shop; 这句命令的意思就是:“创建一个名叫my_shop的数据库”,简单吧?执行后,你的数字仓库就有了。

  2. 设计货架(表): 光有仓库不行,还得有货架,你需要一个货架来存放所有顾客的信息,这个货架需要提前规划好有几个格子,分别放什么类型的东西(比如名字是文字,年龄是数字)。

    CREATE TABLE customers (
        id INT PRIMARY KEY,
        name VARCHAR(100),
        age INT,
        email VARCHAR(255)
    );

    我们来“翻译”一下:

    快速上手SQL语法,教你轻松搭建自己的数据库,入门不难别怕复杂

    • CREATE TABLE customers:创建一张名叫customers(顾客)的表。
    • id INT PRIMARY KEY:设置一个叫id的列(格子),类型是整数(INT),并且它是主键(PRIMARY KEY),主键就像每个顾客独一无二的身份证号,绝对不能重复。
    • name VARCHAR(100):一个叫name的列,类型是可变长度的文字(VARCHAR),最多能存100个字符。
    • age INT:一个叫age的列,类型是整数。
    • email VARCHAR(255):一个叫email的列,最多存255个字符。

    这样,一个结构清晰的“顾客信息货架”就设计好了。

第二步:往货架上“摆货物”——插入数据

货架空了可不行,现在我们往里添加一些顾客信息。

INSERT INTO customers (id, name, age, email)
VALUES (1, '张三', 28, 'zhangsan@email.com');
  • INSERT INTO customers:向customers表里插入数据。
  • (id, name, age, email):指定你要往哪些列里放数据。
  • VALUES (1, '张三', 28, ...):对应地给出具体的值。

你可以多执行几次INSERT语句,把李四、王五等信息都加进去,你的表里就有数据了。

第三步:查看“货物”清单——查询数据

这是SQL最常用、最核心的功能,用SELECT语句来实现。

快速上手SQL语法,教你轻松搭建自己的数据库,入门不难别怕复杂

  1. 查看所有信息: SELECT * FROM customers; 这个星号是个通配符,代表“所有列”,这句命令就是:“从customers表里,把所有的列和数据都给我看看。”

  2. 只看想看的几样: 如果你只关心顾客的名字和邮箱,可以: SELECT name, email FROM customers; 这样结果就只显示名字和邮箱两列,非常清爽。

  3. 带条件地查找: 想象一下,你想找出所有年龄大于25岁的顾客,该怎么说? SELECT * FROM customers WHERE age > 25; 这里的WHERE就是个条件关键字,它帮你筛选出符合要求的记录。

第四步:更新“货物”信息——修改数据

比如张三换邮箱了,我们需要更新他的信息。

UPDATE customers
SET email = 'zhangsan_new@email.com'
WHERE id = 1;
  • UPDATE customers:要更新customers表。
  • SET email = ...:把邮箱列的值设置成新的地址。
  • WHERE id = 1非常非常重要! 这句话限定了只更新id为1的那条记录(也就是张三),如果没有这个WHERE条件,整个表里所有顾客的邮箱都会被改成新地址,那就闯大祸了!所以操作更新和删除时,一定要谨慎使用WHERE

第五步:下架过期“货物”——删除数据

快速上手SQL语法,教你轻松搭建自己的数据库,入门不难别怕复杂

王五不再是顾客了,需要将他的信息从表中移除。 DELETE FROM customers WHERE id = 3; 同样,WHERE id = 3确保了只删除id为3的王五这条记录,如果只写DELETE FROM customers;,会清空整个表,所有数据都没了,操作前务必确认。

来点有趣的:关联查询

现在你有了顾客表,还可以再创建一个订单表(orders),里面记录订单号、订单金额和对应的顾客id。 当你既想看订单详情,又想知道是哪个顾客下的单时,就需要把两张表关联起来查。

SELECT customers.name, orders.order_date, orders.amount
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id;

这句命令的意思是:从顾客表和订单表进行关联(INNER JOIN),关联的条件(ON)是顾客表的id等于订单表的customer_id字段,选择显示顾客姓名、订单日期和订单金额,这样,你就能一眼看出每笔订单是谁买的了。

总结一下

看,SQL的基本操作无非就是“增删改查”四个字:

  • 增(CREATE, INSERT):建表、加数据。
  • 删(DELETE):删数据(小心!)。
  • 改(UPDATE):改数据(小心!)。
  • 查(SELECT):各种姿势查询数据,这是最常用的。

入门真的不难,你完全可以在自己的电脑上安装一个MySQL或SQLite这样的数据库软件,然后按照上面的例子亲手敲一遍命令,感受一下“掌控数据”的乐趣,关键就是大胆实践,从搭建自己的一个小数据库开始吧!