事务控制语句:
mysql> show variables like 'autocommit';
临时关闭:
mysql> set autocommit=OFF;
查看数据库基本信息相关语句:
mysql> status; #查看数据库信息 mysql> show databases; #查看库明细 mysql> select version(); #查看数据库版本 mysql> show engines; #查看存储引擎
更改默认字符集:
mysql> set character_set_database=utf8mb4; mysql> set character_set_server=utf8mb4;
永久修改字符集:
vim my.cnf [mysqld] character_set_server=utf8mb4
对数据库的基本操作:
mysql> create database db1; mysql> create database db1 default charset gbk; mysql> create database if not exists db1 default character set utf8; #创建数据库并设置字符集 mysql> show create database db1; #查看指定数据库详细情况 mysql> alter database db1 default character set gbk; #更改数据库db1,并设置默认字符集为gbk mysql> drop database db1; #删除数据库db1
对数据表的基本操作:
mysql> use db1; mysql> show tables;
创建表:
mysql> create table t1 (id int key,name varchar(20) not null,......) mysql> desc t1; #查看表结构
向表t1内插入数据:
mysql> insert into t1 set id=3,name='li'; mysql> insert into t1 values(1,'zhang'),(2,'wang'); mysql> insert into t1 (id,name) values(3,'li'); mysql> insert into t1 select * from t2;
删除数据:
mysql>delete from t1; mysql>delete from t1 where id>3;
更新数据:
mysql> UPDATE table_anem SET column_name1 =new value1, column_name2 = value2, ...WHERE ... ;
修改表属性:
mysql> alter table t2 add id int first; 增加一列成为第一列 mysql> alter table t2 add id2 int after id; 在id后面增加一列叫id2 mysql> alter table t2 drop id2; 删除id2这个列 mysql> alter table t2 change id ID bigint; 修改列名和数据类型 mysql> alter table t2 modify ID int; 修改列的数据类型 mysql> show engines; 查看数据库有哪些存储引擎 mysql> show create table t20; 查看修改存储引擎是否成功 mysql> alter table t20 default charset=utf8; 修改表的语言编码
重命名或移动表:
mysql> rename table db01.t1 to db02.t1; 移动表到另一个库里并重命名 mysql> rename table db01.t1 to db02.t1; 移动表到另一个库里并重命名 mysql> alter table db01.t1 rename db02.t1 mysql> rename table tt1 to tt2; 只重命名表名 mysql> alter table tt1 rename tt2;
删除表:
mysql>drop table t1;
用户权限管理:
创建用户:
mysql>create user 'user01'@'localhost' identified by 'password'
修改密码:
mysql> alter user 'user01'@'localhost' identified by 'mypassword'; mysql> alter user user() identified by 'mypassword'; #如果当前是匿名用户,可以用该语句来修改密码
常用权限:
USAGE #无权限,只有登录数据库,只可以使用test或test_*数据库 ALL #所有权限 select/update/delete/super/slave/reload #指定的权限 with grant option #允许把自己的权限授予其它用户或者从其他用户收回自己的权限
用户授权:
mysql>show grants; 查看用户权限 mysql>grant 权限 on 库.表 to 用户@主机 mysql>grant 权限(列1,列2,...) on 库.表 to 用户@主机
回收权限:
mysql>revoke update,select on mysql.user from user01@localhost; #撤销指定的权限 mysql>revoke all privileges,grant option from user01@localhost; #撤销所有权限
删除用户:
mysql>drop user user01@localhost; #删除用户 mysql>select user from mysql.user where user=user01; #验证用户是否删除成功 mysql>delete from mysql.user where user=''; #删除MySQL中的匿名用户
重命名用户名:
mysql> rename user user01@'localhost' to u001@'localhost';
更改user02在所有机器上都能登录数据库:
mysql> update mysql.user set host='%' where user='user02'; mysql> flush privileges;