之前那篇DataGrip介绍的博客后面有SQL简单语法,这次出个MySQL详解
安装MySQL
到官网下载安装器,按照安装器上面的步骤安装
安装完成后打开终端输入mysql -u root -p,然后它会让你输密码,输入安装时设置的密码就行。
注意:输入密码时密码不会显示,输入时不要怀疑键盘坏了(笔者一开始也这么以为,后了发现django-admin也是这样)
接下来可以使用show命令显示所有数据库
SHOW DATABASES;
使用use选择数据库
use yourDataBase;
接着可以用SHOW TABLES显示该数据库中的所有数据表
创建数据库
使用CREATE语句可以创建数据库或数据表等,格式如下:
CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];
如果你希望在创建数据库时指定一些选项,可以使用 CREATE DATABASE 语句的其他参数,例如,你可以指定字符集和排序规则:
CREATE DATABASE mydatabase
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
当然,一般不会用到这么多参数,直接创建:
CREATE DATABASE myDataBase;
删除数据库
格式如下:
DROP DATABASE <database_name>; -- 直接删除数据库,不检查是否存在
或
DROP DATABASE [IF EXISTS] <database_name>;
笔者喜欢直接删除:
DROP DATABASE myDataBase; --当然也可以DROP DATABASE IF EXISTS myDataBase;
创建数据表
同样用CREATE创建数据表
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
这个格式跟C语言、Go语言等语言创建数据结构差不多。column1、column2等是列的名称,datatype表示数据类型,一般只会用到int和char。
删除数据表
跟删除数据库一样,使用DROP
DROP TABLE yourTableName;
或
DROP TABLE IF EXISTS yourTableName;
数据表插入数据
使用INSERT INTO语句
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中,column1和value1对应,column2和value2对应,以此类推。如果改成:
INSERT INTO table_name (column2, column1, column3, ...)
VALUES (value1, value2, value3, ...);
那么column2会对应value1,column1对应value2,后面都一样。
总之就是一一对应。
注:bool类型打印时,1表示true,0表示false,可以理解为电信号和二进制。
至于图中的SELECT * FROM test这句是后面会讲到的查询语句,记住这个SELECT。
查询数据
收回伏笔(收的很快),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 语句实例:
-
-
-- 使用 AND 运算符和通配符 SELECT * FROM users WHERE username LIKE 'j%' AND is_active = TRUE; -- 使用 OR 运算符 SELECT * FROM users WHERE is_active = TRUE OR birthdate < '1990-01-01'; -- 使用 IN 子句 SELECT * FROM users WHERE birthdate IN ('1990-01-01', '1992-03-15', '1993-05-03');
WHERE语句
以下是 SQL SELECT 语句使用 WHERE 子句的一些实例:
-
SELECT * FROM users WHERE username = 'test'; --等于条件
SELECT * FROM users WHERE username != 'test'; --不等于条件
SELECT * FROM products WHERE price > 50.00; --大于条件
SELECT * FROM orders WHERE order_date < '2023-01-01'; --小于条件
导入数据
有一种文件格式叫csv大家不知见过没。csv格式文件以文本形式储存表格内容,后缀名为.csv,数据中间用逗号表示,比如以下表格:
姓名 | 性别 | 爱好 |
小明 | 男 | 踢球 |
铁柱 | 男 | 拳击 |
小美 | 女 | 化妆 |
转化成csv便是:
姓名,性别,爱好
小明,男,踢球
铁柱,男,拳击
小美,女,化妆
mysql可以导出数据表转换为csv:
SELECT column1, column2, ...
INTO OUTFILE 'file_path'
FROM your_table
WHERE your_conditions;
参数说明:
column1, column2, ...
: 要选择的列。'file_path'
: 指定输出文件的路径和名称。your_table
: 要查询的表。your_conditions
: 查询条件。
总结
本文详解了MySQL基本用法,记得三连(笑