MySQL基本操作
1. 查询数据库
-- 查询所有数据库 |
2. 修改数据库
3. 创建数据库和表
创建数据库
CREATE DATABASE school; |
CREATE DATABASE
:用于创建新的数据库。
school
:数据库名称。
使用数据库
USE school; |
USE
:选择数据库。
创建表
CREATE TABLE 语句
CREATE TABLE
语句用于在数据库中创建一个新表。
CREATE TABLE student ( |
语法详细解释:
- CREATE TABLE student:
CREATE TABLE
是创建表的命令。student
是表的名称。
- 列定义:
- 每个字段用逗号分隔,并且定义了字段名称、数据类型和约束条件。
- id INT PRIMARY KEY AUTO_INCREMENT:
id
是列的名称。INT
指定数据类型为整数。PRIMARY KEY
将这列设置为主键,保证列中的值唯一且不为空。AUTO_INCREMENT
自动生成唯一的整数值,每次插入新行时递增。
- sage INT:
sage
是列的名称。INT
指定数据类型为整数。
- sname VARCHAR(32) NOT NULL:
sname
是列的名称。VARCHAR(32)
指定数据类型为可变长度字符串,最大长度为32个字符。NOT NULL
表示此列不能为空。
- gender VARCHAR(10) NOT NULL:
gender
是列的名称。VARCHAR(10)
指定数据类型为可变长度字符串,最大长度为10个字符。NOT NULL
表示此列不能为空。
- score DOUBLE NOT NULL:
score
是列的名称。DOUBLE
指定数据类型为双精度浮点数。NOT NULL
表示此列不能为空。
- birthday DATE:
birthday
是列的名称。DATE
指定数据类型为日期。
约束条件的详细说明
- PRIMARY KEY:
- 主键约束,用于唯一标识表中的每一行数据。一个表只能有一个主键。
- AUTO_INCREMENT:
- 仅用于整数类型的列。每插入一条新记录时,自动生成一个唯一的数值,通常从1开始递增。
- NOT NULL:
- 此约束条件表示该列不允许存储NULL值,即该字段必须有值。
数据类型的详细说明
- INT:
- 用于存储整数值,范围通常为-2147483648到2147483647。
- VARCHAR(n):
- 可变长度的字符串,
n
指定了字符串的最大长度。例如,VARCHAR(32)
表示最大长度为32个字符。
- 可变长度的字符串,
- DOUBLE:
- 双精度浮点数,用于存储浮点数,精度高于FLOAT类型。
- DATE:
- 用于存储日期值,格式为
YYYY-MM-DD
。
- 用于存储日期值,格式为
这段SQL语句创建了一个名为student
的表,表中的每一行代表一个学生,包含学生的ID、年龄、姓名、性别、成绩和生日信息。
4. 插入数据
INSERT INTO student (sage, sname, gender, score, birthday) VALUES (18, 'Alice', 'Female', 85.5, '2005-08-15'); |
INSERT INTO
:插入数据的命令。
student
:表名称。
(sage, sname, gender, score, birthday)
:要插入数据的列。
VALUES
:指定要插入的值。
5. 查询数据
查询所有数据
SELECT * FROM student; |
SELECT *
:选择所有列。FROM student
:从student
表中。
查询特定列
SELECT sname, score FROM student; |
SELECT sname, score
:选择特定的列name
和score
。
查询带条件的数据
SELECT * FROM student WHERE gender = 'Female'; |
WHERE
:指定查询条件。
排序查询结果
SELECT * FROM student ORDER BY score DESC; |
ORDER BY
:排序查询结果。score DESC
:按score
列降序排列(ASC
为升序)。
6. 更新数据
UPDATE student SET score = 90 WHERE sname = 'Alice'; |
UPDATE
:更新命令。student
:表名称。SET score = 90
:要更新的列及其新值。WHERE
:指定更新条件。
7. 删除数据
删除特定数据
DELETE FROM student WHERE sname = 'Alice'; |
DELETE FROM
:删除命令。student
:表名称。WHERE
:指定删除条件。
删除所有数据
DELETE FROM student; |
注意:这将删除表中的所有数据,但表结构仍然存在。
8. 删除表和数据库
删除表
DROP TABLE student; |
DROP TABLE
:删除表的命令。
删除数据库
DROP DATABASE school; |
DROP DATABASE
:删除数据库的命令。
9. 使用索引
创建索引
CREATE INDEX idx_sname ON student (sname); |
CREATE INDEX
:创建索引的命令。idx_sname
:索引名称。ON student (sname)
:在student
表的sname
列上创建索引。
删除索引
DROP INDEX idx_sname ON student; |
DROP INDEX
:删除索引的命令。
10. 使用视图
创建视图
CREATE VIEW top_students AS |
CREATE VIEW
:创建视图的命令。top_students
:视图名称。SELECT sname, score FROM student WHERE score > 90
:定义视图的查询。
查询视图
SELECT * FROM top_students; |
- 查询视图就像查询表一样。
删除视图
DROP VIEW top_students; |
DROP VIEW
:删除视图的命令。
示例程序
StudentManager.h
:
|
StudentManager.cpp
:
|
main.cpp
:
|
- 本文作者: hzr
- 本文链接: https://HZR0709.github.io/2024/07/23/Mysql-usage/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!