MySQL 创建数据库
CREATE DATABASE 数据库名;
mysql> create DATABASE Studennt ; --创建名为Studennt的数据库
如果数据库已经存在,执行 CREATE DATABASE 将导致错误。
为了避免这种情况,你可以在 CREATE DATABASE 语句中添加
IF NOT EXISTS 子句:
CREATE DATABASE IF NOT EXISTS mydatabase;
MySQL 删除数据库
drop 命令删除数据库
drop 命令格式:
DROP DATABASE <database_name>; -- 直接删除数据库,不检查是否存在
或
DROP DATABASE [IF EXISTS] <database_name>; --表示如果数据库存在才执行删除操作
MySQL 选择数据库
在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。
USE database_name; ---database_name 是你要选择的数据库的名称。
MySQL 数据类型
MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
MySQL 创建数据表
创建 MySQL 数据表需要以下信息:
- 表名
- 表字段名
- 定义每个表字段的数据类型
CREATE TABLE table_name (
colume1 datatype,
colume2 datatype,
...
);
参数说明:
- table_name 是你要创建的表的名称。
- column1, column2, ... 是表中的列名。
- datatype 是每个列的数据类型。
MySQL 删除数据表
DROP TABLE table_name ; - - 直接删除表,不检查是否存在
或
DROP TABLE [IF EXISTS] table_name; -- 表存在才执行删除
MySQL 插入数据
MySQL 表中使用 INSERT INTO 语句来插入数据。
语法
INSERT INTO table_name (column1,column2,column3, ....)
VALUES (value1, value2, value3, .......);
参数说明:
- table_name 是你要插入数据的表的名称。
- column1, column2, column3, ... 是表中的列名。
- value1, value2, value3, ... 是要插入的具体数值。
注意:如果是字符型,必须要用‘ ’或者“ ”。
如果你要插入所有列的数据,可以省略列名:
MySQL 查询数据
MySQL 数据库使用 SELECT 语句来查询数据。
语法
以下为在 MySQL 数据库中查询数据通用的 SELECT 语法:
SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];
参数说明:
- column1, column2, ... 是你想要选择的列的名称,如果使用
*
表示选择所有列。 - table_name 是你要从中查询数据的表的名称。
- WHERE condition 是一个可选的子句,用于指定过滤条件,只返回符合条件的行。
- ORDER BY column_name [ASC | DESC] 是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。
- LIMIT number 是一个可选的子句,用于限制返回的行数。
实例
- -- 选择所有列的所有行
- SELECT * FROM users;
- -- 选择特定列的所有行
- SELECT username, email FROM users;
- -- 添加 WHERE 子句,选择满足条件的行
- SELECT * FROM users WHERE is_active = TRUE;
- -- 添加 ORDER BY 子句,按照某列的升序排序
- SELECT * FROM users ORDER BY birthdate;
- -- 添加 ORDER BY 子句,按照某列的降序排序
- SELECT * FROM users ORDER BY birthdate DESC;
- -- 添加 LIMIT 子句,限制返回的行数
- SELECT * FROM users LIMIT 10;
- -- 显示数据库中所有的表
- SHOW TABLES;
- -- 显示表的结构
- DESC table_name;
MySQL WHERE 子句
从 MySQL 表中使用 SELECT 语句来读取数据。
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
WHERE 子句用于在 MySQL 中过滤查询结果,只返回满足特定条件的行。
语法
SELECT column1, column2, ...
FROM table_name
WHERE condition;
参数说明:
- column1, column2, ... 是你要选择的列的名称,如果使用
*
表示选择所有列。 - table_name 是你要从中查询数据的表的名称。
- WHERE condition 是用于指定过滤条件的子句。
MySQL DELETE 语句
我们可以使用 DELETE FROM 命令来删除 MySQL 数据表中的记录。
语法
DELETE FROM table_name
WHERE condition;
参数说明:
- table_name 是你要删除数据的表的名称。
- WHERE condition 是一个可选的子句,用于指定删除的行。如果省略 WHERE 子句,将删除表中的所有行。
更多说明:
- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
- 你可以在 WHERE 子句中指定任何条件
- 您可以在单个表中一次性删除记录。
MySQL UPDATE 更新
如果我们需要修改或更新 MySQL 中的数据,我们可以使用 UPDATE 命令来操作。
语法
以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
参数说明:
- table_name 是你要更新数据的表的名称。
- column1, column2, ... 是你要更新的列的名称。
- value1, value2, ... 是新的值,用于替换旧的值。
- WHERE condition 是一个可选的子句,用于指定更新的行。如果省略 WHERE 子句,将更新表中的所有行。
MySQL ORDER BY(排序) 语句
我们知道从 MySQL 表中使用 SELECT 语句来读取数据。
如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
MySQL ORDER BY(排序) 语句可以按照一个或多个列的值进行升序(ASC)或降序(DESC)排序。
语法
以下是 SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...;
参数说明:
- column1, column2, ... 是你要选择的列的名称,如果使用
*
表示选择所有列。 - table_name 是你要从中查询数据的表的名称。
- ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ... 是用于指定排序顺序的子句。ASC 表示升序(默认),DESC 表示降序。
注:
在SQL注入中我们常用它来判断列数
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 1;# 不报错
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 2;# 不报错
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 3;# 报错
MySQL UNION 操作符
UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合,并去除重复的行。
UNION 操作符必须由两个或多个 SELECT 语句组成,每个 SELECT 语句的列数和对应位置的数据类型必须相同。
语法
MySQL UNION 操作符语法格式:
SELECT column1, column2, ...
FROM table1
WHERE condition1
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition2
[ORDER BY column1, column2, ...];
参数说明:
- column1, column2, ... 是你要选择的列的名称,如果使用
*
表示选择所有列。 - table1, table
2
, ... 是你要从中查询数据的表的名称。 - condition1, condition2, ... 是每个 SELECT 语句的过滤条件,是可选的。
- ORDER BY 子句是一个可选的子句,用于指定合并后的结果集的排序顺序。
Comments NOTHING