页面树结构
转至元数据结尾
转至元数据起始

我们在使用 MySQL 数据库时,多数情况下都是用客户端工具连接到服务器进行操作,方便快捷。但有些时候,却又不得不使用命令行工具,因此很有必要学习一些最常用的操作命令。下面就是一些最经常用到的 MySQL 操作命令。

 

文档目录:

相关文档:

1、登录数据库

mysql -h localhost -P 6688 -u root -p test

上述命令以 root 用户登录 test@localhost:6688 数据库。

  • 如果是登录本机数据库,可以省略 -h localhost 部分。
  • -P 6688 指定数据库的端口。如果是 MySQL 默认端口 3306,也省略该部分。
  • -p 后面有空格,表示接下来会提示用户输入密码。在这里也可以直接输入密码,-pmypassword,-p后直接紧跟着密码,不要有空格即可。
  • 数据库名 test 也可以省略,则表示登录时不指定默认数据库。

 

2、查看数据库状态信息

status 

上述命令,列出所登录数据库的当前状态信息。

 

3、调用函数

select database();

调用 MySQL 数据库所支持的各种函数,在 select 之后跟着函数名。

  • database() 显示当前数据库。
  • user() 显示登录用户。
  • current_date() 显示当前系统日期。
  • current_time() 显示当前系统时间。
  • current_timestamp() 显示当前系统日期和时间。

 

4、显示数据库列表

show databases;

上述命令显示当前服务器上所有数据库的列表。查询到数据库名后,紧接着我们可以使用 use 命令,改变当前数据库。

 

5、查看表信息

show tables;

上述命令列出当前数据库中的所有表。查询到表名后,紧接着可以使用 desc 命令查询某张表的定义信息。

 

6、创建、修改和删除数据库

create database mydb;
alter database mydb character set utf8;
drop database mydb;

上述三条命令,先是创建了 mydb 数据库,接着修改其数据库字符集为 utf8,最后再将该数据库删除。

 

7、创建表

create table mytable (
	id int primary key auto_increment,
	usrname varchar(255) not null,
	salary float(11,2),
	birthday date,
	sleep time,
	ts timestamp,
	description text,
	picture blob
); 

上述命令创建了一个名为 mytable 的数据库表。对各个字段类型,解释如下。

  • id int primary key auto_increment, --创建int类型的主键,且自增长。
  • usrname varchar(255) not null, --创建字符类型的列,最大长度为255字节。
  • salary float(11,2), --创建小数类型的列,小数点后两位。
  • birthday date, --创建日期类型的字段,只保存日期。
  • sleep time, --创建时间类型的字段 ,只保存时间。
  • ts timestamp, --创建时间戳类型的列,保存日期和时间。
  • description text, --创建大文本类型数据的列,保存大文本,长度不受限制。
  • picture blob --创建二进制类型的列,保存二进制数据。

 

create temporary table my_temp_table (
	id integer,
	usrname varchar(100),
	addr varchar(50),
	primary key(id)
);

还可以用上述命令创建临时表。临时表是指创建后只在当前数据库内有效,断开与数据库的连接后表就自动删除。

 

8、修改和删除表

  • 删除 tableName 表中的 usrname 列
alter table tableName drop usrname;

 

  • 修改 tableName 表中的usrname列为新的名称和数据类型
alter table tableName change usrname newName dataType;

 

  • 向 tableName 表中添加usrname列
alter tableName add usrname varchar(200) not null default 'helloword';

 

  • 修改表名
alter table tableName rename to newTableName;

 

  • 删除表 tableName
drop table tableName;

 

9、创建、删除用户和给用户授权

  • 创建用户 usernname1
create user username1; 

 

  • 删除用户 username1
drop user username1;

 

  • 授权用户 username1 仅能访问数据库 DBName 下的所有数据表,密码为password123
grant all privileges on DBName.* to username1@'% ' identified by 'password123' with grant option;

 

10、数据库备份和恢复

mysqldump -h localhost -P 6688 -u root -p test > test_db.sql

上述命令将 test 数据库备份到当前路径下的 test_db.sql 文件中。它一次性备份了 test 库中的所有表,如果只需要备份某几张表,在库名后分别列出表命即可,表之间用空格分开。

  • 该命令中 -h, -P, -u, -p 等参数的含义,请参考 登录数据库 部分的解释。

 

mysql -h localhost -P 6688 -u root -p test < test_db.sql

上述命令从当前路径下读取 test_db.sql 文件的内容,将其恢复到 test 数据库中。

 

  • 无标签