MySQL常用sql语句

事务控制语句:

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 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;