• 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 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;
  • 相关阅读:
    《vi和vim》 学习手记(1)
    2013年1月第1个周末
    Oracle基础知识Oracle不同的启动关闭方式
    2013年1月第一个周末
    《vi和vim》 学习手记(2)
    Oracle基础知识数据迁移
    MySQL 显示表字段及注释等信息
    什么是UCenter Home、Discuz!、SupeSite、ECShop和SupeV 这些都是什么?
    mysql远程连接对用户的测试(吴龙波)
    MySQL与SQL的触发器的不同写法
  • 原文地址:https://www.cnblogs.com/new-journey/p/10437063.html
Copyright © 2020-2023  润新知