一、数据库操作
- 创建数据库:
CREATE DATABASE database_name;
- 选择数据库:
USE database_name;
- 删除数据库:
DROP DATABASE database_name;
二、表操作
- 创建表:
CREATE TABLE table_name (column1 datatype constraint, column2 datatype constraint,...);
例如:CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT);
- 查看表结构:
DESC table_name;
- 删除表:
DROP TABLE table_name;
- 插入数据:
INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
例如:INSERT INTO students (name, age) VALUES ('Tom', 20);
- 更新数据:
UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;
例如:UPDATE students SET age = 21 WHERE name = 'Tom';
- 删除数据:
DELETE FROM table_name WHERE condition;
例如:DELETE FROM students WHERE age < 18;
修改表中字段的数据类型
ALTER TABLE sc MODIFY COLUMN grade NUMERIC;
改变表中的数据用update
UPDATE course SET ccredit = 10 WHERE cno = '003';
三、查询语句
- 基本查询:
SELECT column1, column2,... FROM table_name;
例如:SELECT name, age FROM students;
- 条件查询:
SELECT * FROM table_name WHERE condition;
例如:SELECT * FROM students WHERE age > 18;
- 排序查询:
SELECT * FROM table_name ORDER BY column_name ASC/DESC;
例如:SELECT * FROM students ORDER BY age ASC;
- 限制查询结果数量:
SELECT * FROM table_name LIMIT offset, row_count;
例如:SELECT * FROM students LIMIT 10, 5;
(从第 10 行开始取 5 条记录) - 聚合函数查询:
- 常见聚合函数有
COUNT
(计数)、SUM
(求和)、AVG
(平均值)、MAX
(最大值)、MIN
(最小值)。
例如:SELECT COUNT(*) FROM table_name;
、SELECT SUM(column_name) FROM table_name;
- 常见聚合函数有
- 分组查询:
SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;
例如:SELECT age, COUNT(*) FROM students GROUP BY age;
- 多表连接查询:
- 内连接(
INNER JOIN
):SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
- 左连接(
LEFT JOIN
):SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
- 右连接(
RIGHT JOIN
):SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
- 内连接(
四、索引操作
- 创建索引:
CREATE INDEX index_name ON table_name (column_name);
- 删除索引:
DROP INDEX index_name ON table_name;
五、视图操作
- 创建视图:
CREATE VIEW view_name AS SELECT column1, column2,... FROM table_name WHERE condition;
- 删除视图:
DROP VIEW view_name;
六、存储过程和函数
- 创建存储过程:
DELIMITER // CREATE PROCEDURE procedure_name(parameter_list) BEGIN -- SQL statements END // DELIMITER ;
- 调用存储过程:
CALL procedure_name(parameter_values);
- 创建函数:
DELIMITER // CREATE FUNCTION function_name(parameter_list) RETURNS return_datatype BEGIN -- SQL statements RETURN result; END // DELIMITER ;
- 调用函数:
SELECT function_name(parameter_values);
七、数据类型
- 数值类型:
-
INT
:整数类型,例如id INT
。 -
FLOAT
:单精度浮点数。 -
DOUBLE
:双精度浮点数。 -
DECIMAL(m,n)
:定点数,其中m
是总位数,n
是小数位数。
-
- 字符串类型:
-
VARCHAR(length)
:可变长度字符串,需要指定最大长度。 -
CHAR(length)
:定长字符串,长度固定。 -
TEXT
:用于存储较长的文本数据。
-
- 日期和时间类型:
-
DATE
:存储日期,格式为 YYYY-MM-DD。 -
TIME
:存储时间,格式为 HH:MM:SS。 -
DATETIME
:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS。
-
八、约束条件
-
PRIMARY KEY
:主键约束,用于唯一标识表中的每一行。
例如:id INT PRIMARY KEY
。 -
FOREIGN KEY
:外键约束,用于建立表之间的关系。
例如:student_id INT, FOREIGN KEY (student_id) REFERENCES students(id)
。 -
UNIQUE
:唯一约束,确保列中的值是唯一的。
例如:email VARCHAR(50) UNIQUE
。 -
NOT NULL
:非空约束,要求列不能为空。
例如:name VARCHAR(50) NOT NULL
。 -
DEFAULT
:默认值约束,为列指定默认值。
例如:age INT DEFAULT 18
。