在linux下MySQL的常用操作命令

发布时间:2024年01月12日

一、启动与退出

1、启动 MySQL 服务

net start mysql ??或 ??service mysql start

2、关闭 MySQL 服务

net stop mysql ???或 ??service mysql stop

3、登录 MySQL

语法:./mysql ?-u 用户名?-p

输入命令./mysql ?-u root -p,回车后提示输入密码,输入123456,然后回车即可进入到mysql中了,mysql的提示符是:mysql>?。

注意:若连接到另外的服务器,则需要加入一个参数-h和服务器IP。

语法:./mysql -u [用户名]?-p -h [服务器IP地址]

(u与root可以不用加空格)

4、退出 MySQL 命令

mysql>?exit; ?或者 ?mysql>?quit;(回车)。

5、刷新数据库

mysql> flush privileges;

6、修改 root 密码

方法1:用 SET PASSWORD 命令

首先登录 MySQL。

格式:mysql> set password=password('新密码');

命令:mysql> set password=password('123456');

方法2: 用 UPDATE 直接编辑 user 表

首先登录 MySQL。

mysql> use mysql;

mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;

mysql> flush privileges;

7、增加新用户

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

增加一个用户user1,密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

若希望该用户能在任何服务器上登陆mysql,则将localhost改为"%"。

若不想user1有密码,则可以用下面的命令将密码去掉:

mysql> grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

8、删除SQL用户

mysql> delete from user where User="用户名" and Host="服务器IP地址";

二、数据库操作

1、显示所有的数据库(注意:最后有个 s)

mysql> show databases;

2、切换数据库

mysql> use 数据库名;

3、查看当前数据库中包含的表信息(注意:最后有个 s)

mysql> show tables;

4、查看数据表的结构(表的列)

mysql> desc 表名;??或 ?describe 表名;

5、查看当前使用的数据库

mysql> select database();

6、创建数据库

mysql> create database 数据库名;

7、删除数据库

mysql>?drop database 数据库名;

8、执行 sql 脚本文件(.sql 文件)

mysql> source 脚本文件名;

9、建表与删表

mysql> use 库名;

mysql> create table 表名(字段列表);

mysql> drop table 表名;

10、清空表中记录

mysql> delete from 表名;

11、显示表中的记录

mysql> select * from 表名;

12、往表中加入记录

mysql> insert into 表名 values ("hyq","M");

13、更新表中数据

mysql>?update 表名 set 字段1="f" where 字段2='hyq';

14、备份数据库

mysql>?mysqldump -u root 库名>xxx.data

15、显示数据库版本

mysql>?select version();

16、显示当前的时间

mysql>?select now();

17、消除重复行—distinct

mysql>?select distinct 字段?from 表名;

18、起别名再用别名调用字段—as

mysql>?select s.字段1, s.字段2?from 表名 as s;

19、条件查询—比较运算符> < !=

mysql>?select * from 表名 where 字段>19;

20、条件查询—逻辑运算符and or not

mysql>?select * from 表名 where 字段>=17 and 字段<=27;

21、模糊查询—like

mysql>?select * from 表名 where 字段?like "李%";

22、空判断—is null

mysql>?select * from 表名 where 字段?is null;

23、查询改字段内的排序—order by?单个字段(asc从小到大排序,默认从小到大,desc 从大到小排序)

mysql>?select * from 表名 where (字段1?between 18 and 26)and 字段2=2 order by 字段2 asc;

24、查询改字段内的排序—order by 多个字段(按字段1降序,字段2升序)

mysql>?select * from 表名 where(字段2?between 17 and 37) and 字段3=2 order by 字段1?desc ,字段2?asc;

25、聚合函数—count(*)统计列数,count(字段)一样

mysql>?select count(*) from 表名 where 字段=2;

26、最大值,最小值,求和,平均

mysql>?select max(字段), min(字段),sum(字段),avg(字段) from 表名;

27、group by 字段

mysql>?select 字段?from 表名 group by 字段;

28、用来分组查询后指定一些条件的查询结果—group by + having

mysql>?select 字段,count(*) from 表名 group by 字段?having count(*)>2;

29、先建立两个表—表名1和表名2

内连接查询表名1和表名2

mysql>?select * from 表名2?inner join 表名1?on 表名2.字段2=表名1.字段1;

左连接查询表名1和表名2

mysql>?select * from 表名2?as s left join 表名1?as c on s.字段2=c.字段1;

右连接查询表名1和表名2

mysql>?select * from 表名2?as s right join 表名1?as c on s.字段2=c.字段1;

30、查看索引

mysql>?show index from 表名;

31、创建索引

mysql>?create index 索引名称 on 表名(字符段名称(长度))

32、删除索引

mysql>?drop index 索引名称 on 表名;

33、开启运行时间

mysql>?set profiling=1;

34、查看执行时间

mysql>?show profiles;

、导出和导入数据(数据的备份与恢复)

1、导出数据(数据的备份)

mysql> mysqldump --opt test > mysql.test

将test数据库导出到mysql.test文件,后者是一个文本文件,就是把数据库dbname导出到文件mysql.dbname中。

命令:mysql> mysqldump -u root -p123456 --databases dbname > mysql.dbname

或 ??

mysqldump -h 主机地址 -u 用户名 -p 数据库名 > dbname_backup.sql

2、导入数据(数据的恢复)

命令:mysql> mysqlimport -u root -p123456 < mysql.dbname

mysqladmin -h 主机地址 -u 用户名 -p create 新数据库名

mysqldump -h 主机地址 -u 用户名 -p 新数据库名 < dbname_backup.sql

3、将文本数据导入数据库

文本数据的字段数据之间用tab键隔开。

mysql> use test;

mysql> load data local infile "文件名" into table 表名;

既然看到这里了,就向大家打个广告。如果想要了解更多关于运维和mysql数据库的知识,可以关注我的微信公众号:人文历史与科学技术,下面是二维码,谢谢大家!

?

文章来源:https://blog.csdn.net/weixin_43268590/article/details/123776118
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。