怎么熟悉mysql_如何熟悉MySQL常用操作?

1 数据库的登录与退出

mysql -u root -p -- 使用root身份登陆当前的数据库

mysql -u root -p -h server0 -- 使用root身份登陆到server0的数据库

quit --退出数据库

2 数据库

2.1 创建

create databse db1; -- 创建一个数据库

create database db1 character set utf8; -- 创建并定义字符集

create database db1 character set utf8mb4; -- 创建并定义字符集

注:数据库名在linux下大小写敏感(跟系统有关系)

2.2 选中

use db1; -- 选中一张表

2.3 查看

show databases; -- 显示数据库

show create database db1 -- 显式数据库创建语句

2.4 删除

drop database db1; -- 删除数据库

2.5 数据权限设置

grant privileges on db1.tablename to user1@10.168.0.8 identified by "password"; -- 按数据库授所有权限

grant select,insert,update,delete,create temporary tables,execute,show view on `db1`.* to 'user1'@'10.168.0.8'; -- 按数据库授特定权限

revoke select,insert,update,delete,create temporary tables,execute,show view on `db1`.* from 'user1'@'10.168.0.8'; -- 按数据库取消特定权限

drop user 'user1'@'10.168.0.8'; -- 删除特定的用户

flush privileges; -- 刷新权限表

另外MySQL8授权方式有所不同,

create user 'user1'@'10.168.0.8' identified with mysql_native_password by 'password';

grant all privileges on db1.tablename.* to 'user1'@'10.168.0.8';

flush privileges;

2.6 数据库的备份与还原

2.6.1 备份数据库

mysqldump -uroot -p --socket=/var/lib/mysql/mysql.sock limesurvey > backup.sql

2.6.2 只备份表结构

mysqldump -uroot -p --socket=/var/lib/mysql/mysql.sock --opt -d limesurvey > backup_desc.sql

2.6.3 只备份数据

mysqldump -uroot -p --socket=/var/lib/mysql/mysql.sock -t limesurvey > backup_data.sql

2.6.4 唯一传输

mysqldump -uroot -p --socket=/var/lib/mysql/mysql.sock --single-transaction limesurvey > backup_data.sql

注:该选项适用于数据库引擎类型为InnoDB的表备份,该标记转存储时提供连贯的数据库快照备份

2.6.5 其他备份方法

mysqldump -u username -p database > /backup/file.dump -- 备份数据库

mysqldump -uroot -p --all-databases | gzip -9 > file.gz -- 备份并压缩数据库

mysqldump -u username -p <.>

2.7 密码变更

方法一

mysql -uroot -p

set password for root@localhost = password('123456');

方法二

mysqladmin -uroot -p password "123456"

方法三

use mysql;

update user set password=password('123456') where user='root' and host='localhost';

flush privileges;

方法四

service mysqld stop

mysqld_safe --skip-grant-tables &

mysql -u root

use mysql;

update user set password=password('123456') where user='root' and host='localhost';

flush privileges;

quit;

service mysqld restart

3 表

3.1 创建

3.1.1 创建1

create tabale tb1 (

id int not null,

name varchar(10)

); -- 创建一张表

3.1.2 创建2

create tabale tb1 (

id int not null,

name varchar(10)

)engine=MYISAM default charset=utf8; -- 创建一张表

注:表名在linux下大小写敏感(跟系统有关系)

3.2 查看

show tables; -- 显示当前库中的表

show create table tb1; --显式创建表的语句

describe tb1; -- 查看表结构

show create table tb1; -- 查看见表命令

show index from tb2; -- 查看表包含的索引

show table status like '%tb3%'; -- 查看当前表的状态

3.3 删除

drop table tb1

drop table if exists tab1

3.4 修改

alter table tb1 engine=myisam;

4 表的列操作

4.1 增加字段

alter table Persons add column `City` varchar(255) DEFAULT NULL;

4.2 修改字段

alter table Persons modify column `City` varchar(255) DEFAULT NULL comment '城市';

4.3 删除字段

alter table `Persons` drop column `City`;

5 表的行操作

5.1 查询

select email from user group by email having count(email) > 1; -- 查询重复的列

select * from user where email in (

select email from user group by email having count(u_email) > 1

); -- 查询重复数据列的行

5.2 插入

5.2.1 单行插入

insert into tablename set column1 = value1 , coumn2 = values2...;

5.2.2 多行插入

insert into tablename (column1,column2...) values (value1,value2....);

insert into tablename (column1,column2...) values (value1,value2....),(value1,value2....)...;

5.2.3 简写

insert into tablename values (value1,value2....);

注:当满足表中所有列都插入数据时才可简写

5.2.4 插入查询结果

insert into tablename (column1,column2...) select (column1,column2...) from tablename2 [where condition];

简写

insert into tablename select (column1,column2...) from tablename2 [where condition];

5.3 更新

update tablename set column1 = valuesl,column2 = values2... [where condition];

注:不写where会修改整张表数据(危险操作)

5.4 删除

delete from tablename [where condition];

注:不写where会清空整张表数据(危险操作)

6 事务

begin; -- 开启事务(必选)

-- 这里做引起数据变更的操作(可选)

rollback; -- 回滚事务(可选)

commit; -- 提交事务(必选)

注:数据InnoDB引擎支持表事务性操作

show variables like '%commit'; -- 查询事务自动提交设置

set autocommit=0; -- 自动提交关闭(需要手动键入commit,执行前所有操作当一个事务处理)

set autocommit=1; -- 自动提交打开(每个操作一个事务)

7 版本信息查看

7.1 登录信息查看

mysql -uroot -p

7.2 函数方式查看

mysql -uroot -p

>select @@version;

7.3 状态信息查看

mysql -uroot -p

>status

7.4 命令行方式查看

mysql -V

7.5 帮助方式查看

mysql --help | grep Distrib

7.6 环境变量方式查看

show variables like 'version';

8 其他查询或命令

show engines; -- 查看引擎

show variables like '%storage_engine%'; -- 数据库默认引擎

select table_name,table_schema,engine from information_schema.tables where engine!='innodb' and table_schema not in('performance_schema','mysql'); -- 筛选非innodb的引擎表

show create table tabName; -- 查询某表的引擎

show warnings; -- 查询警告信息

show variables; -- 查询变量环境

show variables like '%query_cache%'; -- 查询基于特定关键字环境变量

show variables like "max_connections"; -- 查询最大连接数

show processlist; -- 查询进程列表

kill processID -- 结束查询的进程

9 QEP

explan select user,host from user\G

10 MySQLAdmin

mysqladmin -u root -p -P 3306 --socket=/tmp/mysql.sock shutdown

不详尽请参阅:

http://www.w3school.com.cn/sql/index.asp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MySQL之间的协同性 1.5.7. 与MaxDB有关的链接 1.6. MySQL发展大事记 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意事项 2.12.6. OS/2注意事项 2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL服务器 5.3.1. mysqld命令行选项 5.3.2. SQL服务器模式 5.3.3. 服务器系统变量 5.3.4. 服务器状态变量 5.4. mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的作用 5.7.2. 权限系统工作原理 5.7.3. MySQL提供的权限 5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与恢复 5.9.1. 数据库备份 5.9.2. 示例用备份与恢复策略 5.9.3. 自动恢复 5.9.4. 表维护和崩溃恢复 5.9.5. myisamchk:MyISAM表维护实用工具 5.9.6. 建立表维护计划 5.9.7. 获取关于表的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器上运行多个MySQL服务器 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix中运行多个服务器 5.12.3. 在多服务器环境中使用客户端程序 5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制实施细节 6.3.1. 复制主线程状态 6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的Auto-Increment 7. 优化 7.1. 优化概述 7.1.1. MySQL设计局限与折衷 7.1.2. 为可移植性设计应用程序 7.1.3. 我们已将MySQL用在何处? 7.1.4. MySQL基准套件 7.1.5. 使用自己的基准 7.2. 优化SELECT语句和其它查询 7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 7.5.6. MySQL如何使用DNS 7.6. 磁盘事宜 7.6.1. 使用符号链接 8. 客户端和实用工具程序 8.1. 客户端脚本和实用工具概述 8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysqlMySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM日志文件内容 8.13. perror:解释错误代码 8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集和校对 10.2. MySQL中的字符集和校对

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值