Linux使用-MySQL的使用

Linux使用-MySQL的使用

🌟Linux使用-MySQL的使用

本文将介绍 Linux MySQL的使用的核心操作,包括MySQL 服务端安装、MySQL 指令速查、查询命令和字段属性,帮助你快速掌握MySQL的使用的基础技能。

🔥1.MySQL 服务端安装

在ubuntu下,运行下面的命令,安装MySQL:

基本操作命令

bash 复制代码
sudo apt-get upadate
sudo apt-cache search mysql | grep mysql-server
sudo apt-get install mysql-server-5.7

MySQL运行界面:

🔥2.MySQL 指令速查

MySQL指令速查

操作分类 操作说明 代码示例
MySQL命令行 登陆MySQL命令行 mysql -u <username> -p
在命令行直接执行命令 mysql -u <username> -p <pwd> -e "<cmd>"
数据库操作 查看数据库 show databases;
选择数据库 use <database>;
创建数据库 create database <database> CHARACTER SET utf8 COLLATE utf8_general_ci;
删除数据库 drop schema <database>;
数据表操作 (通用SQL) 查看数据表 show tables;
数据表结构 desc <table>;
查看创建表的SQL语句 show create table <table>;
创建数据表 create table student_score (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255), PRIMARY KEY(id), UNIQUE(name));
复制数据表 create table <table> * from <table_1>;
更改表名 alter table <table> RENAME TO <table_2> ;
新增字段 alter table <table> ADD score INT NOT NULL Default 0;
修改字段 alter table <table> CHANGE score grade VARCHAR(255);
删除字段 alter table <table> DROP COLUMN grade;
增删改查操作 (通用SQL) 增加数据 INSERT INTO <table> (<field_1>, <field_2>) VALUES (<value_1>, <value_2>);
删除数据 DELETE FROM <table> WHERE <field>=<value>;
修改数据 UPDATE <table> SET <field>=<value> WHERE <field>=<value>;
精确查询 SELECT <field> AS <name> FROM <table> WHERE <field>=<value> LIMIT 10,15;
模糊查询 SELECT * FROM <table> WHERE <field> like '%<value>%';
多表连接查询 SELECT <table2>.<field> FROM <table1> JOIN <table2> ON <table2>.<field> = <table1>.<field> WHERE <table2>.<field>=<value>;
用户/权限管理 创建用户 create USER <username>;
设置密码 set PASSWORD FOR <username>= PASSWORD("<pwd>");
赋予权限 (数据库所有表) GRANT ALL PRIVILEGES ON <database>.* TO <username> IDENTIFIED BY "<pwd>";
权限生效 FLUSH PRIVILEGES;
备份与还原数据库 备份数据库 mysqldump -u root -p --databases <databse> > bak.sql
备份数据表 mysqldump -u root -p <database> <table> > bak.sql
还原数据库 mysql -u root -p < bak.sql
还原数据表 mysql -u root -p < bak.sql
触发器与限制 查看限制项 SELECT * FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_NAME = '<table>';

🔥3.MySQL 查询命令

操作分类 操作说明 代码示例
基础查询 查询所有字段 SELECT * FROM <table>;
查询指定字段 SELECT <field1>, <field2> FROM <table>;
去重查询 SELECT DISTINCT <field> FROM <table>;
别名查询 SELECT <field> AS <alias> FROM <table> AS <table_alias>;
条件查询 等于条件 SELECT <field> FROM <table> WHERE <field> = <value>;
不等于条件 SELECT <field> FROM <table> WHERE <field> != <value>;
大于/小于条件 SELECT <field> FROM <table> WHERE <field> > <value>;
范围查询(between) SELECT <field> FROM <table> WHERE <field> BETWEEN <min> AND <max>;
集合查询(in) SELECT <field> FROM <table> WHERE <field> IN (<value1>, <value2>);
空值查询 SELECT <field> FROM <table> WHERE <field> IS NULL;
非空查询 SELECT <field> FROM <table> WHERE <field> IS NOT NULL;
逻辑与(and) SELECT <field> FROM <table> WHERE <condition1> AND <condition2>;
逻辑或(or) SELECT <field> FROM <table> WHERE <condition1> OR <condition2>;
逻辑非(not) SELECT <field> FROM <table> WHERE NOT <condition>;
模糊查询 包含指定字符 SELECT <field> FROM <table> WHERE <field> LIKE '%<value>%';
以指定字符开头 SELECT <field> FROM <table> WHERE <field> LIKE '<value>%';
以指定字符结尾 SELECT <field> FROM <table> WHERE <field> LIKE '%<value>';
匹配指定长度字符 SELECT <field> FROM <table> WHERE <field> LIKE '_<value>';(下划线表示单个字符)
聚合查询 统计记录数 SELECT COUNT(*) FROM <table>;SELECT COUNT(<field>) FROM <table>;
求和 SELECT SUM(<field>) FROM <table>;
平均值 SELECT AVG(<field>) FROM <table>;
最大值 SELECT MAX(<field>) FROM <table>;
最小值 SELECT MIN(<field>) FROM <table>;
分组查询 基础分组 SELECT <field1>, COUNT(*) FROM <table> GROUP BY <field1>;
分组筛选(having) SELECT <field1>, AVG(<field2>) FROM <table> GROUP BY <field1> HAVING AVG(<field2>) > <value>;
排序查询 升序排序 SELECT <field> FROM <table> ORDER BY <field> ASC;(ASC可省略)
降序排序 SELECT <field> FROM <table> ORDER BY <field> DESC;
多字段排序 SELECT <field1>, <field2> FROM <table> ORDER BY <field1> ASC, <field2> DESC;
分页查询 限制查询结果数量 SELECT <field> FROM <table> LIMIT <num>;(返回前num条记录)
分页查询(指定起始位置) SELECT <field> FROM <table> LIMIT <offset>, <num>;(从第offset条开始,返回num条记录,offset从0开始)
连接查询 内连接(inner join) SELECT <t1.field>, <t2.field> FROM <table1> t1 INNER JOIN <table2> t2 ON t1.<field> = t2.<field>;
左连接(left join) SELECT <t1.field>, <t2.field> FROM <table1> t1 LEFT JOIN <table2> t2 ON t1.<field> = t2.<field>;
右连接(right join) SELECT <t1.field>, <t2.field> FROM <table1> t1 RIGHT JOIN <table2> t2 ON t1.<field> = t2.<field>;
全连接(union) SELECT <field> FROM <table1> UNION SELECT <field> FROM <table2>;(合并两个查询结果,去重)
子查询 作为条件的子查询 SELECT <field> FROM <table> WHERE <field> IN (SELECT <field> FROM <table2> WHERE <condition>);
作为表的子查询 SELECT <t1.field>, <t2.avg_field> FROM <table1> t1 JOIN (SELECT <field>, AVG(<value>) AS avg_field FROM <table2> GROUP BY <field>) t2 ON t1.<field> = t2.<field>;
正则表达式查询 匹配正则模式 SELECT <field> FROM <table> WHERE <field> REGEXP '^<pattern>';(例如:匹配以字母a开头的记录 REGEXP '^a'

🔥4.MySQL 字段属性

属性分类 属性名称 说明及示例
数据类型 整数类型 存储整数,包括: - TINYINT:1字节,范围-128127(或0255无符号) - SMALLINT:2字节,范围-32768~32767 - INT:4字节,常用整数类型 - BIGINT:8字节,存储大整数 示例:age INT
浮点/小数类型 存储小数,包括: - FLOAT:4字节单精度浮点数 - DOUBLE:8字节双精度浮点数 - DECIMAL(M,D):高精度小数,M为总位数,D为小数位数 示例:price DECIMAL(10,2)(最大99999999.99)
字符串类型 存储文本,包括: - CHAR(N):固定长度字符串,N为字符数(1~255) - VARCHAR(N):可变长度字符串,N为最大字符数(1~65535) - TEXT:长文本(最大65535字节) - LONGTEXT:超长文本(最大4GB) 示例:name VARCHAR(50)
日期时间类型 存储时间信息,包括: - DATE:日期(YYYY-MM-DD) - TIME:时间(HH:MM:SS) - DATETIME:日期时间(YYYY-MM-DD HH:MM:SS),范围1000-01-01至9999-12-31 - TIMESTAMP:时间戳,范围1970-01-01至2038-01-19,受时区影响 示例:create_time DATETIME
二进制类型 存储二进制数据,包括: - BLOB:二进制大对象(如图片、文件) - LONGBLOB:大型二进制数据 示例:file_data BLOB
约束属性 主键(PRIMARY KEY) 唯一标识表中记录,不可重复、不可为NULL,一张表只能有一个主键 示例:id INT PRIMARY KEY 或 联合主键 PRIMARY KEY(id, name)
自增(AUTO_INCREMENT) 通常与主键配合,插入时自动生成唯一值(默认从1开始递增) 示例:id INT PRIMARY KEY AUTO_INCREMENT
非空(NOT NULL) 字段值不可为NULL,必须填写 示例:username VARCHAR(50) NOT NULL
唯一(UNIQUE) 字段值在表中唯一,允许为NULL(但NULL只允许出现一次) 示例:email VARCHAR(100) UNIQUE
默认值(DEFAULT) 未指定值时自动使用的默认值 示例:status INT DEFAULT 0(默认状态为0)、create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(默认当前时间)
外键(FOREIGN KEY) 关联另一张表的主键,确保数据一致性 示例:user_id INT, FOREIGN KEY(user_id) REFERENCES users(id)
其他属性 注释(COMMENT) 为字段添加说明文字,增强可读性 示例:age INT COMMENT '用户年龄'
字符集(CHARACTER SET) 指定字符串字段的字符集(如utf8、utf8mb4) 示例:name VARCHAR(50) CHARACTER SET utf8mb4
排序规则(COLLATE) 字符串比较规则,依赖字符集 示例:name VARCHAR(50) COLLATE utf8mb4_general_ci(不区分大小写)

🔥5.结束语

🖥️ 通过以上介绍,你应该对MySQL的使用有了基本了解。这些命令和工具是MySQL的使用的基础,熟练掌握它们将极大提高你的工作效率。

相关推荐
星期天要睡觉2 小时前
自然语言处理(NLP)——自然语言处理原理、发展历程、核心技术
人工智能·自然语言处理
黄毛火烧雪下2 小时前
【Ruby 】脚本和自动化语言 常用的内容
运维·自动化·ruby
低音钢琴2 小时前
【人工智能系列:机器学习学习和进阶01】机器学习初学者指南:理解核心算法与应用
人工智能·算法·机器学习
Madison-No72 小时前
【Linux】gcc/g++编辑器 && 初识动静态库 && 程序翻译过程
linux·服务器
小白不想白a3 小时前
【shell】每日shell练习:安全日志入侵检测/系统配置文件合规检查
运维·服务器
飞翔的佩奇3 小时前
【完整源码+数据集+部署教程】【天线&水】舰船战舰检测与分类图像分割系统源码&数据集全套:改进yolo11-repvit
前端·python·yolo·计算机视觉·数据集·yolo11·舰船战舰检测与分类图像分割系统
大千AI助手3 小时前
Hoeffding树:数据流挖掘中的高效分类算法详解
人工智能·机器学习·分类·数据挖掘·流数据··hoeffding树
新知图书3 小时前
大模型微调定义与分类
人工智能·大模型应用开发·大模型应用
山烛3 小时前
一文读懂YOLOv4:目标检测领域的技术融合与性能突破
人工智能·yolo·目标检测·计算机视觉·yolov4
大千AI助手3 小时前
独热编码:分类数据处理的基石技术
人工智能·机器学习·分类·数据挖掘·特征工程·one-hot·独热编码