标签搜索

MySQL常用命令

Aryee
2023-03-09 / 0 评论 / 1,444 阅读 / 正在检测是否收录...

mysql.jpg
MySQL是一个关系型数据库管理系统,属于 Oracle 旗下产品,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
官网: MySQL

导出数据库,命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p db_name > db_name.sql

导出所有数据库

mysqldump -u root -p –all-databases > all.sql

导出一个表,命令:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p db_name table_name > table_name.sql

导出一个数据库结构

mysqldump -u root -p -d --add-drop-table db_name > db_name.sql

导入数据库

mysqldump -u user_name -p db_name < db_name.sql

使用mysql命令

mysql -u user_name -p -D db_name < db_name.sql

连接MySQL数据库服务器,用户名user_name,密码pwd

mysql -u user_name -p pwd

添加用户

insert into mysql.user(Host,User,Password) values("localhost","user_name",password("pwd"));
flush privileges;

删除用户

delete from user where user = 'user_name' and host='localhost';
flush privileges;

查看当前用户

select user();

数据库授权

#授权用户拥有库的所有权限
grant all on db_name.* to user_name@localhost identified by 'pwd';
#授权用户拥有库的select,update权限
grant select,update on db_name.* to user_name@localhost;

显示所有数据库

show databases;

选择要使用的数据库,数据库名

use database_name;

显示所有表

show tables;

显示表结构,表名称table_name

desc table_name;

插入数据

insert into table_name(column1, column2, column3, ...) values(value1, value2, value3, ...);

查询数据

select * from table_name;

更新数据

update table_name set column_name = new_value where column_name = column_value;

删除数据

delete from table_name where column_name = cloumn_value;

查看当前使用的数据库

select database();

当前数据库包含的表信息

show tables;

查看数据库字符集

show variables like '%char%';

建表

create table table_name(id varchar(20),name varchar(20));

查看表结构

desc table_name;

锁表、解锁

flush tables with read lock;
unlock tables;

删除表

drop table table_name;

插入数据

insert into table_name values("1","value");

查询表中的数据

select * from table_name;
select * from table_name where id = 1;
select * from table_name where id like "1%";
select * from table_name order by id limit 0,2;
select * from table_name limit 0,2;

删除表中数据

delete from table_name where id=1;

更新表中数据

update table_name set cloumn_name = 'value' where id=2;

修改表中字段的长度

alter table talbe_name modify column column_name varchar(30);

在表中增加字段

alter table table_name add cloumn_name int(11) default '0';

更改表名:

rename table old_table_name to new_table_name;

对表进行排序

select * from table_name order by column_name asc;
select * from table_name order by column_name desc;

模糊查询

select * from table_name where column_name LIKE '%search_keyword%';

常见的连表查询

select * from table1 join table2 on table1.column_name = table2.column_name;
select * from table1 left join table2 on table1.column_name = table2.column_name;
select * from table1 right join table2 on table1.column_name = table2.column_name;

聚合函数

  select COUNT(*) from table_name;
  select SUM(column_name) from table_name;
  select AVG(column_name) from table_name;
  select MAX(column_name) from table_name;
  select MIN(column_name) from table_name;

分组

select column_name, COUNT(*) from table_name group by column_name;

创建索引

create index index_name on table_name(column_name);

删除索引

drop index index_name on table_name;

使用limit 进行分页

select * from table_name limit start, count;

显示服务器状态信息

show status;

查看Mysql提供存储引擎

show engines;

查看mysql默认存储引擎

show variables like '%storage_engine%';

查看mysql系统版本

select version();

查看mysql库里所有表

show tables from mysql;

查看Mysql端口

show variables like 'port';

查看mysql库user表中user,host信息

select user,host from mysql.user;

修改密码

mysqladmin -uroot -p old_pwd password new_pwd

use mysql;
update mysql.user set password = 'nwe_pwd' where user = 'user_name';
flush privileges;

set password for user_name@localhost=password('pwd');
flush privileges;

MYSQL忘记密码方法,先停止Mysql服务,以跳过权限方式启动

service mysqld stop
/usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &
#在shell终端输入mysql并按Enter键,进入mysql命令行,由于MYSQL用户及密码认证信息存放在mysql库中的user表,需进入mysql库
mysql;
use mysql;
update user set password=password('pwd') where user='user_name';
flush privileges;
138

评论

博主关闭了当前页面的评论