登录数据库:/mysql/bin/mysql -u root -p
-u:用户名
-p:密码
-h:数据库连接IP或域名,默认localhost的可省
-P:连接端口,默认3306的可省略
DatabaseName:数据库名称,带此参数时,登录成功后直接转到该数据库下;
输入登录用户的密码(输入时不显示出来,输完回车即可):Enter password:
例:以root用户,在域名为localhost,端口为3306上登录并直接进入到mysql数据库
mysql -h localhost -P 3306 -u root -p mysql
查询时间:select now();
查询当前用户:select user();
查询数据库版本:select version();
查询当前使用的数据库:select database();
查询当前日期:select current_date();
查询从库同步状态:show slave status\G;
查询数据库进程情况:show processlist;
列出数据库:mysql> show databases;
选择数据库:use DatabaseName;
例:mysql> use mysql; 使用mysql数据库
列出表格:mysql> show tables;
显示表格列的属性:show columns from tableName;
例:mysql> show columns from user; 显示user表格列的属性
创建数据库:create database DatabaseName;
例:mysql> create database mytest; 使用mytest数据库
删除数据库:drop database if exists DatabaseName;
例:mysql> drop database if exists mytest; 删除mytest数据库
创建数据表:create table TableName(字段设定列表);
例:mysql> create table user(
`id` tinyint(8) not null auto_increment primary key,
`name` varchar(32) not null default '',
`password` varchar(32) not null default '',
`sex` enum('0', '1') not null default '0')ENGINE=MyISAM;
lock tables user write;
insert user(`name`, `password`, `sex`) values ('testNmae', '1234', '0'),('testNmae', '12345', '1'),
('testNmae', '123456', '0'),('testNmae', '12345678', '1');
unlock tables;
创建了一个表名为user表,含有id,name,password,sex字段;
删除数据表:drop table if exists TableName;
例:mysql> drop table if exists user; 删除user数据表
清空数据表:truncate table TableName;
例:mysql> truncate table user; 清空user数据表
优化数据表:optimize table TableName;
例:mysql> optimize table user; 优化user数据表
修复数据表:repair table TableName;
例:mysql> repair table user; 修复user数据表
分析数据表:analyze table TableName;
例:mysql> analyze table user; 分析user数据表
检查数据表:check table TableName;
例:mysql> check table user; 检查user数据表
数据表添加列(字段):alter table TableName add (字段设定列表) [ after ColumnName ];
例:alter table user add `e_mail` varchar(255) not null default '' after id 在user数据表里插入一个新的字段e_mail位于字段id之后
数据表更改列(字段):alter table TableName change 旧列名 (新字段设定列表) [ after ColumnName ];
例:alter table user change `e_mail` `eMail` varchar(255) not null default '' after id; 在user数据表里将字段为e_mail修改为eMail并更新位置
数据表删除列(字段):alter tables TableName drop column ColumnName, ColumnName2;
例:alter table user drop column `eMail`; 在user数据表里将字段为eMail的列删除
导出一个完整数据库:
登录数据库: /mysql/bin/mysqldump -u root -p DatabaseName > OutFileName
-u:用户名
-p:密码
-h:数据库连接IP或域名,默认localhost的可省
-P:连接端口,默认3306的可省
DatabaseName:要导出的数据库名称;
>:输出到指定文件
OutFileName:存放导出数据库的文件
导出一个数据库中的指定表(一个或多个):
/mysql/bin/mysqldump -u root -p DatabaseName DataTableName1 DataTableName2 > OutFileName
-u:用户名
-p:密码
-h:数据库连接IP或域名,默认localhost的可省
-P:连接端口,默认3306的可省
DatabaseName:要导出的数据库名称;
>:输出到指定文件
DataTableName1:要导出的一个表名
DataTableName2:要导出的另一个表名
...有多个表时,以空格形式书写即可导出多个
OutFileName:存放导出数据库的文件
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
控制到库级的命令示范:
grant all privileges on mytest.* to shangcheng@'localhost' identified by '123456';
用户名为:shangcheng
库名:shangcheng
密码:123456
刷新系统权限表:mysql> flush privileges;
修改用户密码:set password for 'user'@'host' = PASSWORD('newpassword');
例:set password for 'root'@'localhost' = PASSWORD('123456'); 将登录方式为localhost的root用户修改密码为123456
查看用户权限:show grants for 'user'@'host';
例:show grants for 'root'@'localhost'; 查看登录方式为localhost的root用户的权限