基本 SQL 语法

概述

SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它允许用户创建、查询、更新和删除数据库中的数据。本教程将介绍基本的 SQL 语法,包括创建和管理数据库、创建表、插入数据、更新数据、删除数据以及基本查询。

1. 创建和管理数据库

1.1 创建数据库

在 SQL 中,使用 CREATE DATABASE 语句来创建一个新的数据库。

CREATE DATABASE my_database;

1.2 选择数据库

使用 USE 语句来选择要操作的数据库。

USE my_database;

1.3 删除数据库

使用 DROP DATABASE 语句来删除一个数据库。

DROP DATABASE my_database;

2. 创建表 (CREATE TABLE)

2.1 创建表的基本语法

使用 CREATE TABLE 语句来创建一个新的表。表由列组成,每列都有特定的数据类型。

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    salary DECIMAL(10, 2)
);

2.2 数据类型

常见的数据类型包括:

  • INT:整数
  • VARCHAR(n):可变长度字符串,最大长度为 n
  • DECIMAL(p, s):定点数,p 是总位数,s 是小数位数
  • DATE:日期
  • TIMESTAMP:时间戳

3. 插入数据 (INSERT)

3.1 插入单行数据

使用 INSERT INTO 语句来插入数据到表中。

INSERT INTO employees (id, name, age, salary)
VALUES (1, 'John Doe', 30, 50000.00);

3.2 插入多行数据

可以一次性插入多行数据。

INSERT INTO employees (id, name, age, salary)
VALUES 
(2, 'Jane Smith', 28, 55000.00),
(3, 'Alice Johnson', 35, 60000.00);

4. 更新数据 (UPDATE)

4.1 更新单行数据

使用 UPDATE 语句来更新表中的数据。

UPDATE employees
SET salary = 52000.00
WHERE id = 1;

4.2 更新多行数据

可以更新满足特定条件的所有行。

UPDATE employees
SET salary = salary * 1.1
WHERE age > 30;

5. 删除数据 (DELETE)

5.1 删除单行数据

使用 DELETE 语句来删除表中的数据。

DELETE FROM employees
WHERE id = 2;

5.2 删除所有数据

可以删除表中的所有数据,但保留表结构。

DELETE FROM employees;

6. 基本查询 (SELECT)

6.1 查询所有列

使用 SELECT * 语句来查询表中的所有列。

SELECT * FROM employees;

6.2 查询特定列

可以指定要查询的列。

SELECT name, salary FROM employees;

6.3 使用 WHERE 子句过滤数据

使用 WHERE 子句来过滤查询结果。

SELECT * FROM employees
WHERE age > 30;

6.4 使用 ORDER BY 排序

使用 ORDER BY 子句来对查询结果进行排序。

SELECT * FROM employees
ORDER BY salary DESC;

7. 实践练习

7.1 创建一个新数据库并选择它。

CREATE DATABASE practice_db;
USE practice_db;

7.2 创建一个名为 students 的表,包含 id、name、age 和 grade 列。

CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    grade CHAR(1)
);

7.3 插入几行数据到 students 表中。

INSERT INTO students (id, name, age, grade)
VALUES 
(1, 'Tom', 18, 'A'),
(2, 'Jerry', 19, 'B'),
(3, 'Alice', 20, 'C');

7.4 更新 students 表中 grade 为 'C' 的学生年龄加 1。

UPDATE students
SET age = age + 1
WHERE grade = 'C';

7.5 删除 students 表中 grade 为 'B' 的学生。

DELETE FROM students
WHERE grade = 'B';

7.6 查询 students 表中所有学生的姓名和年龄,并按年龄降序排列。

SELECT name, age FROM students
ORDER BY age DESC;

总结

本教程介绍了 SQL 的基本语法,包括创建和管理数据库、创建表、插入数据、更新数据、删除数据以及基本查询。通过这些基础操作,您可以开始在关系数据库中进行数据管理。继续学习和实践将帮助您掌握更高级的 SQL 功能。