MySQL数据库操作完全指南:从入门到闭关

大家好,欢迎来到程序视点!我是你们的老朋友.小二!

前言

MySQL数据库操作,之前也分享了很多了。 今天来一个完全流程版本的指南!内容不高深,但MySQL操作的基本整体流程必备!

一、MySQL连接与基础操作

1.1 连接MySQL服务器

本地连接:

css 复制代码
mysql -u root -p
  • 进入MySQL安装目录的bin文件夹后执行

  • root用户初始可能无密码,直接回车即可

  • 成功连接后提示符变为mysql>

远程连接:

复制代码
mysql -h110.110.110.110 -u root -p123
  • -h参数指定远程主机IP

  • 密码直接跟在-p后无需空格

退出MySQL:

bash 复制代码
exit;

1.2 密码管理

修改root密码:

css 复制代码
mysqladmin -u root -p旧密码 password 新密码

示例:

bash 复制代码
mysqladmin -u root password ab12       # 设置初始密码mysqladmin -u root -p ab12 password djg345  # 修改密码

二、用户权限管理

2.1 创建用户并授权

创建全权限用户(谨慎使用):

sql 复制代码
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';
  • %表示允许从任何主机连接

  • 权限包括查询、插入、更新、删除

创建受限用户:

sql 复制代码
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';
  • 仅允许本地访问

  • 仅限mydb数据库操作

三、数据库操作

3.1 创建数据库

基本创建:

ini 复制代码
CREATE DATABASE xhkdb;

完整创建流程(推荐):

sql 复制代码
CREATE DATABASE mydb;GRANT ALL PRIVILEGES ON mydb.* TO 'mydb'@'localhost' IDENTIFIED BY 'password';SET PASSWORD FOR 'mydb'@'localhost' = OLD_PASSWORD('password');

3.2 数据库管理

查看所有数据库:

ini 复制代码
SHOW DATABASES;

删除数据库:

sql 复制代码
DROP DATABASE IF EXISTS xhkdb;  # 安全删除方式

选择数据库:

ini 复制代码
USE xhkdb;

查看当前数据库:

csharp 复制代码
SELECT DATABASE();

四、表操作

4.1 创建表

sql 复制代码
CREATE TABLE MyClass (    id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,    name CHAR(20) NOT NULL,    sex INT(4) NOT NULL DEFAULT '0',    degree DOUBLE(16,2));
  • PRIMARY KEY设置主键

  • AUTO_INCREMENT自动递增

  • DEFAULT设置默认值

4.2 表管理

删除表:

sql 复制代码
DROP TABLE IF EXISTS MyClass;

修改表名:

css 复制代码
RENAME TABLE MyClass TO YouClass;

五、数据操作

5.1 插入数据

sql 复制代码
INSERT INTO MyClass VALUES(1,'Tom',96.45),(2,'Joan',82.99),(3,'Wang',96.59);

5.2 查询数据

基本查询:

vbnet 复制代码
SELECT * FROM MyClass;

条件查询:

vbnet 复制代码
SELECT name, degree FROM MyClass WHERE degree > 90;

限制结果集:

vbnet 复制代码
SELECT * FROM MyClass ORDER BY id LIMIT 2;  # 前2条记录

5.3 更新数据

ini 复制代码
UPDATE MyClass SET name='Mary' WHERE id=1;

5.4 删除数据

ini 复制代码
DELETE FROM MyClass WHERE id=1;

六、表结构修改

6.1 添加字段

sql 复制代码
ALTER TABLE MyClass ADD passtest INT(4) DEFAULT '0';

6.2 修改字段

sql 复制代码
ALTER TABLE MyClass CHANGE name fullname VARCHAR(30);

6.3 删除字段

sql 复制代码
ALTER TABLE MyClass DROP passtest;

6.4 索引管理

添加索引:

sql 复制代码
ALTER TABLE MyClass ADD INDEX idx_name (name);

添加唯一索引:

sql 复制代码
ALTER TABLE MyClass ADD UNIQUE idx_card (cardnumber);

删除索引:

sql 复制代码
ALTER TABLE MyClass DROP INDEX idx_name;

七、数据库备份与恢复

7.1 备份整个数据库

css 复制代码
mysqldump -u root -p database_name > backup.sql

7.2 备份单个表

css 复制代码
mysqldump -u root -p database_name table_name > table_backup.sql

7.3 备份数据库结构

css 复制代码
mysqldump -u root -p -d --add-drop-table database_name > struct_backup.sql

7.4 恢复数据库

css 复制代码
mysql -u root -p database_name < backup.sql

八、实用技巧

8.1 查看MySQL版本

csharp 复制代码
SELECT VERSION();

8.2 查看当前时间

csharp 复制代码
SELECT NOW();

8.3 字符串连接

sql 复制代码
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;

8.4 数学运算

bash 复制代码
SELECT (4*4)/10+25;  # 结果为26.60

九、完整实例

9.1 创建学校数据库

sql 复制代码
DROP DATABASE IF EXISTS school;CREATE DATABASE school;USE school;CREATE TABLE teacher (    id INT(3) AUTO_INCREMENT NOT NULL PRIMARY KEY,    name CHAR(10) NOT NULL,    address VARCHAR(50) DEFAULT '深圳',    year DATE);INSERT INTO teacher VALUES(NULL,'allen','大连一中','1976-10-10'),(NULL,'jack','大连二中','1975-12-23');

9.2 批量执行SQL文件

css 复制代码
mysql -u root -p < school.sql

或MySQL命令行中:

ini 复制代码
SOURCE school.sql;

十、安全建议

  1. 避免使用%开放远程访问权限

  2. 为每个应用创建单独的用户和数据库

  3. 定期备份重要数据

  4. 使用复杂密码并定期更换

  5. 限制用户权限到最小必要范围

通过掌握这些MySQL操作命令,您将能够高效地管理和维护MySQL数据库。建议在实际操作前先在测试环境练习,确保熟悉各项命令的效果和影响。

最后

MySQL操作命令和语法比较繁杂!数据是项目的生命。如需了解跟多MySQL进阶高级内容,请查阅下方文档内容!

「MySQL高级 - 带源码课件」 链接:pan.quark.cn/s/e58e376d5...

课程内容: 1.快速掌握索引,如何避免索引失效,索引的优化策略 2.了解innodb和myisam存储引擎 3.熟悉MySQL锁机制 4.能熟练配置MySQL主从复制 5.熟练掌握explain、show profile、慢查询日志等日常SQL诊断和性能分析策略等

【程序视点】助力打工人减负,从来不是说说而已!

后续小二哥会继续详细分享更多实用的工具和功能。

如果这篇文章对你有用的话,别忘了【一键三连】支持下哦~

相关推荐
qq_4924484465 分钟前
Dynatrace,rancher监测接口,根据接口查找services,根据service查询cluster和namespace
数据库
越甲八千17 分钟前
pyqt 简单条码系统
数据库·microsoft·pyqt
isNotNullX32 分钟前
ETL连接器好用吗?如何实现ETL连接?
大数据·数据库·数据仓库·信息可视化·etl
Databend32 分钟前
利用 Graviton 和 Spot 实例打造 Databend 高性能数据平台
数据库
钟琛......1 小时前
Java事务失效(面试题)的常见场景
java·数据库·spring
uwvwko1 小时前
数据结构学习——树的储存结构
数据库·学习·算法·
熙客2 小时前
MongoDB:索引
数据库·mongodb
孟猛20232 小时前
Unix ODBC和Mysql ODBC
数据库
代码or搬砖2 小时前
Spring JDBC配置与讲解
java·数据库·spring