1. 显示所有数据库
show databases;(注意:最后有个 s)
2. 创建数据库
create database test;
3. 连接数据库
use test;
4. 当前数据库包含的表信息
show tables; (注意:最后有个 s)
5. 查看数据库表结构
desc 表名;
show columns from 表名;
describe 表名;
6. 向数据库表中插入数据
insert into addressbook(fname,lname,phone,fax,email) values('Rob',Rabbit,'674 1536','382 8364','rob@some.domain');
7. 删除一张数据库表
drop table XXX;
8. 删除一条记录
delete from user where id = 1;
9. 删除一张表中所有的记录
//清空全部数据,不写日志,不可恢复,速度极快
truncate table 表名;
//清空全部数据,写日志,数据可恢复,速度慢
delete from 表名
10. 创建mysql用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
#说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
11. 为用户授权
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
- 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
@>mysql -u root -p
@>密码
- 首先为用户创建一个数据库(testDB):
mysql>create database testDB;
- 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
mysql>flush privileges;//刷新系统权限表
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
- 如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
mysql>flush privileges; //刷新系统权限表
- 授权test用户拥有所有数据库的某些权限:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。