mysql常用命令

mysql常用命令

Mysql安装目录

环境:CentOS7

数据库目录 /var/lib/mysql/

配置文件 /usr/share/mysql(mysql.server命令及配置文件)

相关命令 /usr/bin (mysqladmin mysqldump等命令)

启动脚本 /etc/init.d/mysql (启动脚本文件mysql的目录)

一.连接MySQL

格式: mysql -h主机地址 -u用户名 -p用户密码

或者: mysql -u用户名 -p //回车后要求输入密码,密码不可见,比较安全

1、连接到本机上的MYSQL

#以下命令均可
mysql -u用户名 -p密码
mysql -hlocalhost -u用户名 -p密码
mysql -h127.0.0.1 -u用户名 -p密码

2、连接到远程主机上的MYSQL

# mysql -h远程主机IP -u用户名 -p密码
# 当然也可以先ssh登录后再切换:
# ssh 服务器IP -p服务器端口
# ssh 用户名@服务器IP -p服务器端口

3、退出MYSQL命令

exit (回车)

二.修改密码

mysql> use mysql;
mysql> update user set password=PASSWORD('新密码') where user='用户名';
mysql> flush privileges; #更新权限

三.增加删除用户

#增加一个用户,让他可以在任何主机上登录,并对所有数据库有
mysql> grant all privileges on *.* to 用户名@'%' identified by '密码';
##增加一个用户,让他可以在固定主机上登录,并对数据库有
mysql> grant select,insert,update,delete on *.* to 用户名@用户IP Identified by "密码";
##增加一个用户,让他可以在数据库所在主机上登录,并对所有数据库有
mysql> grant all privileges on *.* to 用户名@localhost identified by '密码';

#删除用户
mysql> delete from user where user='用户名' and host='localhost';
mysql> flush privileges;
#删除用户的数据库
mysql> drop database dbname;

#查看所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

查看数据库中具体某个用户的权限
mysql> show grants for '用户名'@'%';    
mysql> select * from mysql.user where user='用户名' \G   

四.开始使用数据库

数据库操作

显示所有的数据库
mysql> show databases;(注意:最后有个 s)	
创建数据库
mysql> create database TEST;	
连接数据库
mysql> use test;	
查看当前使用的数据库
mysql> select database();	
当前数据库包含的表信息
mysql> show tables; (注意:最后有个 s)	
删除数据库
mysql> drop database test;

表操作

备注:操作之前使用“use <数据库名>”应连接某个数据库。

建表

命令:create table <表名> (<字段名1 类型1="">,...,<字段名n 类型n="">);

例子:
mysql> create table MyClass(id int(4),name char(20),sex char(6),degree double(16,2));

获取表结构

命令: desc 表名,或者show columns from 表名

例子:
mysql> describe MyClass;
mysql> desc MyClass;
mysql> show columns from MyClass;

删除表

命令:drop table <表名>

例如:删除表名为 MyClass 的表
mysql> drop table MyClass;

插入数据

命令:insert into <表名> [( <字段名 1>[,..<字段名 n=""> ])] values ( 值 1 )[, ( 值 n )]

例子:
mysql> insert into MyClass values(1,'Tom','male',96.45),(2,'Joan','male',82.99),(4,'Wang','female', 96.59);

查询表中的数据

查询所有行
mysql> select * from MyClass;

查询前几行数据

例如:查看表 MyClass 中前 2 行数据
mysql> select * from MyClass order by id limit 0,2;
或者
mysql> select * from MyClass limit 0,2;

删除表中数据

命令:delete from 表名 where 表达式
例如:删除表 MyClass 中编号为 1 的记录
mysql> delete from MyClass where id=1;

修改表中数据

命令:update 表名 set 字段=新值,... where 条件
mysql> update MyClass set name='Mary' where id=1;

在表中增加字段

命令:alter table 表名 add 字段 类型 其他;

例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0
mysql> alter table MyClass add passtest int(4) default '0'

更改表名

命令:rename table 原表名 to 新表名;

例如:在表 MyClass 名字更改为 YouClass
mysql> rename table MyClass to YouClass;

更新字段内容

命令:update 表名 set 字段名 = 新内容

update 表名 set 字段名 = replace(字段名, ‘旧内容’, ‘新内容’);

例如:文章前面加入 4 个空格
update article set content=concat('    ', content);

五.数据库导入导出

从数据库导出数据库文件

使用“mysqldump”命令

1)导出所有数据库
格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
2)导出数据和数据结构
格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]

举例:

例 1:将数据库 mydb 导出到Windows的e:\MySQL\mydb.sql或Linux的/home/MySQL/mydb.sql文件中。

进入命令行模式:

mysqldump -h localhost -u root -p mydb > e:\MySQL\mydb.sql
mysqldump -h localhost -u root -p mydb > /home/MySQL/mydb.sql

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

例 2:将数据库 mydb 中的 mytable 导出到 e:\MySQL\mytable.sql 文件中。

mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql

例 3:将数据库 mydb 的结构导出到 e:\MySQL\mydb_stru.sql 文件中。

mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql

备注:-h localhost 可以省略,其一般在虚拟主机上用。

完毕

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦