• 在linux下MySQL的常用操作命令


    一、启动与退出

    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.字段2from 表名 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 (字段1between 18 and 26)and 字段2=2 order by 字段2 asc;

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

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

    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 表名2inner join 表名1on 表名2.字段2=表名1.字段1;

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

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

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

    mysql>select * from 表名2as s right join 表名1as 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 表名;

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    在服务器上部署 Nginx 并设置图片服务器
    vulhub中Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
    sparksql broadcast join opt
    一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp
    原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列6 (承接系列5)
    多输入多输出 | MATLAB实现CNN-LSTM-Attention卷积神经网络-长短期记忆网络结合SE注意力机制的多输入多输出预测
    oracle-使用PLSQL工具自行修改用户密码
    uniapp -- 扫码记录(针对app场景)
    Kubernetes Label && Selector
    Docker 安装MySQL 5.7
  • 原文地址:https://blog.csdn.net/bhegi_seg/article/details/126081043