一、登录
1、登录使用默认3306端口的MySQL
mysql -u root -p //回车,之后按提示输入密码。
2、退出登录
exit; //或 quit;
二、用户管理
mysql有一个默认用户root,拥有所有权限
1、创建一个用户
create user username identified by 'password'; //新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限
2、grant方式创建带权限用户
grant all privileges on *.* to 'username'@'localhost' identified by 'password'; //赋予所有权限
grant select,update on *.* to 'username'@'localhost' identified by 'password'; //用户只能执行 select 和 update 命令
flush privileges; //刷新权限
3、删除用户
drop user username@localhost;
4、进入名为mysql数据库查询所以用户(名为mysql的数据库的user表存储着所有用户信息)
use mysql;//进入名为mysql数据库
select User,Host,Password from user;
5、修改密码
update user set password=password('新密码') where user='root';
flush privileges; //立即生效
三、数据库操作
1、显示所有数据库名称
show databases;
2、新建数据库
create database name;
3、删除数据库
drop database name;
4、选择(进入)数据库
use name;
四、表格操作
1、显示当前数据库所有表名
show tables;
2、创建表
create table 'table_name' (
id int not null primary key auto_increment,
name char(20),
age int(3)
);
3、查看表结构
decribe table_name;
4、插入(添加)记录
insert into table_name (id,name) values (1,'abc');
insert into table_name (id,name) values (1,'abc'),(2,'bcd'); //同时插入多条数据
5、查询记录
select * from table_name; //查询所有
select id,name from table_name; //查询部分
6、修改记录
update table_name set name='qwe',age=3 where id=1;
7、删除记录
delete from table_name where id=1;
8、将字符串aaa批量替换为bbb的
update table_name set 字段名 =replace(字段名, aaa, bbb);
9、删除表
drop table table_name;
10、更改表结构
alter table table_name change 旧字段名 新字段名 字段类型;
五、导入导出数据库
1、将mysql.sql导入数据库(导入时需要先登录进mysql)
source ./mysql.sql; //当前目录下的mysql.sql
source /home/user/mysql.sql; // /home/user目录下的mysql.sql
2、导出数据库(导出数据库无需登进mysql,但导出时需输入数据库密码)
mysqldump -u 用户名 -p 数据库名 > 目录/导出的文件名
mysqldump -u root -p mysql > /opt/mysql.sql
3.导出一个表
mysqldump -u 用户名 -p 数据库名 表名 > 目录/导出的文件名
mysqldump -u root -p mysql users > /opt/mysql_users.sql
4.导出一个数据库结构
mysqldump -u 用户名 -p -d --add-drop-table 数据库名 表名 > 目录/导出的文件名
mysqldump -u root -p -d --add-drop-table mysql > /opt/mysql.sql
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
linux下mysql修改字符集、链接时间问题等请参考我的其它文章。