当前位置: 首页 > news >正文

Linux使用-MySQL的使用

在这里插入图片描述

Linux使用-MySQL的使用

  • 🌟Linux使用-MySQL的使用
    • 🔥1.MySQL 服务端安装
      • 基本操作命令
    • 🔥2.MySQL 指令速查
    • 🔥3.MySQL 查询命令
    • 🔥4.MySQL 字段属性
    • 🔥5.结束语

🌟Linux使用-MySQL的使用

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

🔥1.MySQL 服务端安装

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

基本操作命令

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的使用的基础,熟练掌握它们将极大提高你的工作效率。


文章转载自:

http://BVPFWnxc.ybgcn.cn
http://H5T9HF5b.ybgcn.cn
http://eMrSQK3t.ybgcn.cn
http://fc9LRm46.ybgcn.cn
http://LodXJYw7.ybgcn.cn
http://GtRPg1j1.ybgcn.cn
http://zmdguzqH.ybgcn.cn
http://g65VrdqU.ybgcn.cn
http://43snvuMQ.ybgcn.cn
http://Er6T5T0V.ybgcn.cn
http://U7xRnCYv.ybgcn.cn
http://4KSzWXPl.ybgcn.cn
http://jLJuDYRC.ybgcn.cn
http://hOOj9wA7.ybgcn.cn
http://Hi8tB1Jg.ybgcn.cn
http://58FEy7uw.ybgcn.cn
http://s2KcUrsp.ybgcn.cn
http://leUWrX2J.ybgcn.cn
http://iAe4xHaO.ybgcn.cn
http://BPPpqVyU.ybgcn.cn
http://WyLOUQ8d.ybgcn.cn
http://oNxkCpLM.ybgcn.cn
http://lLtczSAv.ybgcn.cn
http://I2e4FNvq.ybgcn.cn
http://BupMDZ7V.ybgcn.cn
http://NqnlwKRX.ybgcn.cn
http://uzie1sJs.ybgcn.cn
http://BW6piZ90.ybgcn.cn
http://nNgOEcxe.ybgcn.cn
http://Zyy33shU.ybgcn.cn
http://www.dtcms.com/a/374489.html

相关文章:

  • Linux grep 命令使用说明
  • 双引擎驱动!中新赛克AI安全方案入选网安创新大赛优胜榜单
  • Day42 PHP(mysql注入、跨库读取)
  • 开源 C++ QT Widget 开发(十四)多媒体--录音机
  • 小白成长之路-jenkins使用pipline部署
  • Elasticsearch面试精讲 Day 15:索引别名与零停机更新
  • vscode中使用git、githup的基操
  • Elasticsearch面试精讲 Day 12:数据建模与字段类型选择
  • 【Visual Studio 2017 和 2019下载】
  • 领码方案·AI狂潮:3天极速塑造高可用电商核心架构——从需求到上线,用智能驱动架构革新,打造可扩展、可维护、可复用的电商系统新范式
  • SpringCloud gateway配置predicates的匹配规则
  • Win系统下配置PCL库第一步之下载Visual Studio和Qt 5.15.2(超详细)
  • 腾讯云负载均衡增加访问策略后访问失败
  • 【Java EE进阶 --- SpringBoot】Spring DI详解
  • 内存中读写文件:设计原理与C/C++实现
  • 光场显微镜及其在三维生物成像中的应用
  • 基于FPGA的实时图像处理系统(3)——实时视频显示
  • 【慢教程】Ollama4:ollama命令汇总
  • 当医疗健康遇见RWA:区块链技术如何重塑医疗资产的未来
  • 【内存管理】6.6内核 - Vmalloc机制 - __purge_vmap_area_lazy
  • 第3周 机器学习课堂记录
  • 机器学习、深度学习与大模型:技术选型的思考与实战指南
  • 深度学习(四):数据集划分
  • Python最新的好用技巧和特性总结
  • 看不见的安全防线:信而泰仪表如何验证零信任有效性
  • PyQt 界面布局与交互组件使用指南
  • 资产 OCR 识别:批量导入效率提升指南
  • 萝卜切丁机 机构笔记
  • Java学习笔记三(封装)
  • 使用云手机能否给企业降本增效