0
点赞
收藏
分享

微信扫一扫

面试前必知的 MySQL 常用命令

迎月兮 2022-10-21 阅读 6

启动与退出

指定 IP 地址和端口号登录 MySQL 数据库

命令格式为:

​mysql -h ip -u root -p -P 3306​

例如:

​mysql -h 127.0.0.1 -u root -p -P 3306​

退出 MySQL

使用 quit 或 exit 退出 MySQL

查看数据库

​SHOW DATABASES​​;

创建数据库

​CREATE DATABASE IF NOT EXISTS dbname​​;

选择数据库

​USE 数据库名​​ ;

查看数据库中的数据表

​SHOW TABLES​​;

删除数据库

​DROP DATABASE IF EXISTS dbname;​

创建一个简单的数据库表

字段 类型(长度) 属性 索引

​CREATE TABLE IF NOT EXISTS 表名( id INT UNSTGND AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL )ENGINE = InnoDB DEFAULT CHARSET=utf8;​

添加数据

​INSERT INTO table_name ( field1, field2,...fieldN )VALUES ( value1, value2,...valueN )​​;

查询数据

​SELECT * FROM table​​;

修改数据

​UPDATE table SET 字段1 = '值1', 字段1='值2' WHERE 条件​​;

删除数据

​DELETE FROM table WHERE 条件​​;

创建新普通用户

​GRANT 权限 ON 库名.表名 TO '用户名'@'主机名' IDENTIFIED BY '密码'​

查询所有用户

​SELECT user,host FROM mysql.user;​

删除普通用户

​DROP USER '用户名'@'主机名';​

修改 root 用户密码

​SET PASSWORD = PASSWORD('新密码');​

root 用户修改普通用户密码

​SET PASSWORD FOR '用户名'@'主机名'=PASSWORD('新密码');​

授权

​GRANT 权限 ON 库名.表名 TO '用户名'@'主机名' IDENTIFIED BY '密码'; GRANT SELECT,INSERT,UPDATE,DELETE ON cendxia.user TO '用户名'@'主机名' IDENTIFIED BY '密码';​

查看权限

​SHOW GRANTS FOR '用户名'@'主机名';​

收回权限

​REVOKE 权限 ON 库名.表名 FROM '用户名'@'主机名';​

备份

​mysqldump -u root -p 数据库名 > 要保存的位置​

还原数据

​mysql -u yser -p dbname < filename.sql;​

建表引擎

​MyISAM -- 读取速度快,不支持事务​

​InnoDB -- 读取速度稍慢 支持事务 事务回滚​

一些常用属性

​UNSTGND 无符号属性​

​AUTO_INCREMENT 自增属性(一般用在id字段上)​

​ZEROFILL 零填充​

字符串类型

​CHAR 定长的字符串类型 (0-255)个字符​

​VARCHAR 变长的字符串类型,5.0以前(0-255)个字符,5.0版本以后(0-65535)个字符​

查看表结构

​DESC 表名; (缩写版)​​​​DESCRIBE 表名​​;

查看建表语句

​SHOW CREATE TABLE 表名;​

修改表名

​ALTER TABLE 原表名 RENAME TO 新表名;​

修改字段的数据类型

​ALTER TABLE 表名 MODIFY 字段名 数据类型 属性 索引;​​​​ALTER TABLE testalter_tbl MODIFY c CHAR(10);​

修改字段名

​ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 属性 索引;​

增加字段

​ALTER TABLE 表名 ADD 字段名 数据类型 属性 索引; -- [FIRST|AFIER 字段名] -- (FIRST 在最前面添加字段。AFIER 字段名 在某字段后面添加)​

删除字段

​ALTER TABLE 表名 DROP 字段名;​

修改字段的排列位置

​ALTER TABLE 表名 MODIFY 字段名 数据类型 属性 索引 AFIER 字段名;​

修改表引擎

​ALTER TABLE 表名 ENGINE=引擎名; --MyISAM 或 InnoDB​

高级用法

​explain sql;​

explain 命令我们可以学习到该条 SQL 是如何执行的,随后解析 explain 的结果可以帮助我们使用更好的索引,最终来优化它!

通过 explain 命令我们可以知道以下信息:

表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。

面试前必知的 MySQL 常用命令_mysql

格式化输出

​sql \G​

在命令最后面加上 \G 即可。

查看帮助

在 MySQL 提示符中输入 help;或者 \h 获取使用帮助。




举报

相关推荐

0 条评论