大家好,欢迎来到程序视点!我是你们的老朋友.小二!
前言
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;
十、安全建议
-
避免使用
%
开放远程访问权限 -
为每个应用创建单独的用户和数据库
-
定期备份重要数据
-
使用复杂密码并定期更换
-
限制用户权限到最小必要范围
通过掌握这些MySQL操作命令,您将能够高效地管理和维护MySQL数据库。建议在实际操作前先在测试环境练习,确保熟悉各项命令的效果和影响。
最后
MySQL操作命令和语法比较繁杂!数据是项目的生命。如需了解跟多MySQL进阶高级内容,请查阅下方文档内容!
「MySQL高级 - 带源码课件」 链接:pan.quark.cn/s/e58e376d5...
课程内容: 1.快速掌握索引,如何避免索引失效,索引的优化策略 2.了解innodb和myisam存储引擎 3.熟悉MySQL锁机制 4.能熟练配置MySQL主从复制 5.熟练掌握explain、show profile、慢查询日志等日常SQL诊断和性能分析策略等
【程序视点】助力打工人减负,从来不是说说而已!
后续小二哥会继续详细分享更多实用的工具和功能。
如果这篇文章对你有用的话,别忘了【一键三连】支持下哦~