MySQL 学习笔记:数据增删查改
SQL 是一个数据库编程语言.
数据库操作
【增】新增数据库 CREATE DATABASE
CREATE DATABASE [IF NOT EXISTS] <database_name>
[CHARACTER SET <charset_name>]
[COLLATE <collation_name>];
- 若同名数据库已存在则会报错,使用
IF NOT EXISTS
可以跳过报错。 CHARACTER SET
指定编码集。要存储UTF-8
编码的字符,请使用CHARACTER SET utf8mb4
。COLLATE
指定排序方法。例如COLLATE utf8mb4_general_ci
。
【删】删除数据库 DROP DATABASE
DROP DATABASE [IF EXISTS] <database_name>;
【查】查询数据库 SHOW DATABASES
- 列举所有数据库:
SHOW DATABASES;
。 - 选择数据库:
USE database_name;
。 - 退出 MySQL:
EXIT;
或QUIT;
。
数据表操作
【增】新增数据表 CREATE TABLE
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
例子:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
birthdate DATE,
is_active BOOL DEFAULT TRUE
);
PRIMARY KEY
表示置为主键,AUTO_INCREMENT
表示每次自增。NOT NULL
表示不能为空,否则报错。DEFAULT
设置默认值。
【删】删除数据表 DROP TABLE
DROP TABLE [IF EXISTS] table_name;
【查】查询数据表 SHOW TABLES
- 列举数据库中所有表:
SHOW TABLES;
。 - 查看表结构:
DESC table_name
。
记录操作
【增】新增记录 INSERT INTO
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
column1
是列名,value1
是相应的值。字符串、日期等需要写在引号 ''
中间。
例子:
INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', 'test@runoob.com', '1990-01-01', true);其它未指定的列将设为默认值. 若省略列名, 则必须填充所有列:
INSERT INTO users
VALUES (NULL, 'test', 'test@runoob.com', '1990-01-01', true);
NULL
表示空, 此处自动填充自增 id。也可以一次添加若干列INSERT INTO users (username, email, birthdate, is_active)
VALUES
('test1', 'test1@runoob.com', '1985-07-10', true),
('test2', 'test2@runoob.com', '1988-11-25', false),
('test3', 'test3@runoob.com', '1993-05-03', true);
【删】删除记录 DELETE FROM
DELETE FROM table_name
WHERE condition;
会删除所有满足条件的行数据。
例子:
DELETE FROM users
WHERE username = 'test3';
【查】查询记录 SELECT FROM
SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];
SELECT *
而不输入列名表示返回所有行。WHERE
筛选数据。ORDER BY
排序,默认ASC
升序,也可以DESC
降序。LIMIT
指定最多返回的行数。
【改】修改记录 UPDATE SET
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
会更新所有满足条件的行数据。
例子:
UPDATE users
SET is_active = true
WHERE username = 'test2';
数据库、数据表、记录增删查改总结
数据库 | 数据表 | 记录 | |
---|---|---|---|