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诊断和性能分析策略等

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

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

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

相关推荐
Another Iso8 小时前
CentOs 7 MySql8.0.23之前的版本主从复制
linux·mysql·centos
若兰幽竹10 小时前
【从零开始编写数据库:基于Python语言实现数据库ToyDB的ACID特性】
数据库·python
宇钶宇夕10 小时前
S7-200 SMART CPU 密码清除全指南:从已知密码到忘记密码的解决方法
运维·服务器·数据库·程序人生·自动化
周杰伦的稻香11 小时前
MySQL密码管理器“mysql_config_editor“
数据库·mysql
云朵大王11 小时前
SQL 视图与事务知识点详解及练习题
java·大数据·数据库
czhc114007566311 小时前
LINUX712 MYSQL;磁盘分区;NFS
数据库·mysql·adb
叁沐12 小时前
MySQL 13 为什么表数据删掉一半,表文件大小不变?
mysql
不太可爱的大白12 小时前
Mysql:分库分表
数据库·mysql
四季豆豆豆12 小时前
博客项目 laravel vue mysql 第四章 分类功能
vue.js·mysql·laravel
十五年专注C++开发12 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存