SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准语言。以下是一些常见的SQL语句及其功能:
查询数据
- 基本查询:使用
SELECT
语句从表中检索数据。
例如,从名为SELECT column1, column2 FROM table_name;
students
的表中选择name
和age
列:SELECT name, age FROM students;
- 条件查询:使用
WHERE
子句来过滤记录。
例如,选择年龄大于18的学生:SELECT * FROM table_name WHERE condition;
SELECT * FROM students WHERE age > 18;
- 排序查询:使用
ORDER BY
子句对结果进行排序。
例如,按年龄升序排列学生记录:SELECT * FROM table_name ORDER BY column1 [ASC|DESC];
SELECT * FROM students ORDER BY age ASC;
- 聚合查询:使用聚合函数如
COUNT()
,SUM()
,AVG()
,MAX()
,MIN()
等。
例如,计算学生表中的总人数:SELECT COUNT(*) FROM table_name; SELECT AVG(column_name) FROM table_name;
SELECT COUNT(*) FROM students;
- 基本查询:使用
插入数据
- 插入单条记录:使用
INSERT INTO
语句。
例如,向INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
students
表中插入一条新记录:INSERT INTO students (name, age, grade) VALUES ('John Doe', 20, 'B');
- 插入多条记录:可以一次性插入多条记录。
例如,同时插入两条记录到INSERT INTO table_name (column1, column2, ...) VALUES (value1a, value2a, ...), (value1b, value2b, ...), ...;
students
表:INSERT INTO students (name, age, grade) VALUES ('Jane Smith', 22, 'A'), ('Mike Johnson', 19, 'C');
- 插入单条记录:使用
更新数据
- 更新记录:使用
UPDATE
语句修改已存在的记录。
例如,将姓名为 "John Doe" 的学生的成绩改为 "A":UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
UPDATE students SET grade = 'A' WHERE name = 'John Doe';
- 更新记录:使用
删除数据
- 删除记录:使用
DELETE
语句删除表中的记录。
例如,删除所有成绩为 "F" 的学生记录:DELETE FROM table_name WHERE condition;
DELETE FROM students WHERE grade = 'F';
- 删除表:使用
DROP TABLE
语句删除整个表。
例如,删除名为DROP TABLE table_name;
students
的表:DROP TABLE students;
- 删除记录:使用
创建和修改表结构
- 创建表:使用
CREATE TABLE
语句。
例如,创建一个包含学生信息的表:CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... );
CREATE TABLE students ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, age INT, grade CHAR(1) );
- 修改表:使用
ALTER TABLE
语句添加、删除或修改表中的列。
例如,向ALTER TABLE table_name ADD column_name datatype; ALTER TABLE table_name DROP COLUMN column_name; ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
students
表中添加一个电子邮件列:ALTER TABLE students ADD email VARCHAR(100);
- 创建表:使用
使用索引和约束
- 创建索引:提高查询效率。
例如,在CREATE INDEX index_name ON table_name (column1, column2, ...);
students
表的name
列上创建索引:CREATE INDEX idx_name ON students (name);
- 使用约束:如主键、外键、唯一性和非空约束。
例如,创建一个带有主键和外键的订单表:CREATE TABLE table_name ( column1 datatype PRIMARY KEY, column2 datatype UNIQUE, column3 datatype NOT NULL, column4 datatype, FOREIGN KEY (column4) REFERENCES other_table(other_column) );
CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, product_id INT, order_date DATE, quantity INT, FOREIGN KEY (product_id) REFERENCES products(product_id) );
- 创建索引:提高查询效率。
掌握这些基本的SQL语句可以帮助你有效地管理和操作数据库中的数据。如果你有更具体的需求或问题,请随时提问!