• MySQL数据库常用操作语法


    1. 数据库初始化配置

    1.1. 创建数据库

    create database apps character set utf8 collate utf8_bin;
    创建数据库”app“,指定编码为utf8

    1.2. 创建用户

    create user 'apps'@'localhost' identified by '12345';
    创建用户apps,密码12345,设定只能从localhost访问本地MySQL

    create user 'apps1' identified by '12345';
    用户apps1可以从任意的域或主机访问当前MySQL

    1.3. 配置用户权限

    grant all privileges on apps.* to 'apps'@'localhost';
    赋予用户apps从localhost登陆MySQL时,数据库apps里所有表的全部权限

    grant的14个权限 select, insert, update, delete, create, drop, index, alter, grant, references, reload, shutdown, process, file

    grant select, insert, update, delete, create, drop on CTD.posts to laowang@192.168.1.11 identified by 'obligingneighbor';
    指定单个表的部分权限

    grant all privileges on *.* to 'admin'@'127.0.0.1' identified by 'administrator'; 赋予所有数据库的全部权限

    1.4. 刷新权限表

    flush privileges;
    quit;  // 退出

    1.5. 用户管理

    1.5.1. 直接向mysql.user表插入记录:

    insert into user (host,user,password) values ('%','jss_insert',password('jss'));
    flush privileges;

    1.5.2. 修改mysql用户密码方式:

    • 使用mysqladmin语法  mysqladmin -u用户名 -p旧密码 password 新密码
      例: mysqladmin -u root -p 123 password 456;

    • 直接修改user表的用户口令
      语法:update mysql.user set password=password('新密码') where User="username" and Host="localhost";
      update user set password=password('54netseek') where user='root'; flush privileges;

    • 使用SET PASSWORD语句修改密码 语法: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 如果是更改当前登陆用户的密码,用SET PASSWORD = PASSWORD("newpassword"); 实例:
    set password for root@localhost=password('');
    SET PASSWORD FOR name=PASSWORD('new password');
    SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

    1.5.3. 删除用户和撤销权限:

    • 取消一个账户和其权限

      DROP USER user;
      drop user username@'%'
      drop user username@localhost
    • 取消授权用户

      语法:REVOKE privilege ON databasename.tablename FROM 'username'@'host';

      例子:

      REVOKE SELECT ON *.* FROM 'pig'@'%';
      REVOKE SELECT ON test.user FROM 'pig'@'%';
      revoke all on *.* from sss@localhost ;
      revoke all on user.* from 'admin'@'%';
      
      SHOW GRANTS FOR 'pig'@'%';     //查看授权
    • 删除用户: 语法: delete from user where user = "user_name" and host = "host_name" ;

    例子:delete from user where user='sss' and host='localhost';

    2. 数据库管理

    2.1. 查看所有数据库

    数据库默认目录:/usr/local/mysql/data

    SHOW DATABASES;   // 显示数据库
    USE abccs         // 进入数据库
    SHOW TABLES;      // 显示表
    DESCRIBE mytable; // 显示表结构
    CREATE DATABASE abccs;    // 创建一个数据库
    CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));   //创建表

    2.2. 插入数据

    • 使用INSERT语句
      insert into mytable values (‘abccs’,‘f’,‘1977-07-07’,‘china’);

    • 使用文本方式插入数据

      mysql.txt内容:

      abccs f 1977-07-07 china   
      mary f 1978-12-12 usa 
      tom m 1970-09-02 usa

      将数据文件导入表 petLOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;

    2.3. 修改数据库或表设置

    drop database drop_database;   //删除一个已经确定存在的数据库
    alter table 表名 ENGINE=存储引擎名;  //修改表的存储引擎
    alter table 表名 drop 属性名; //删除字段
    alter table 旧表名 rename to 新表名;  //修改表名
    alter table 表名 modify 属性名 数据类型;  //修改字段数据类型
    alter table 表名 change 旧属性名 新属性名 新数据类型; //修改字段名
    alter table 表名 drop FOREING KEY 外键别名; //删除子表外键约束

    2.4. 修改表字段

    alter table example add phone VACGAR(20); //增加无约束的字段
    alter table example add age INT(4) NOT NULL; //增加非NULL的字段
    alter table example add num INT(8) PRIMARY KEY FIRST;  //表的第一个位置增加字段
    alter table example add address VARCHAR(30) NOT NULL AFTER phone;  //表的指定位置之后增加字段
    alter table example modify name VARCHAR(20) FIRST; //把字段移动到第一位
    alter table example modify num INT(8) AFTER phone;//把字段移动到指定字段之后
  • 相关阅读:
    Installation request for topthink/think-captcha ^3.0 -> satisfiable by topthink/think-captcha[v3.0.0].
    /etc/sudoers配置错误导致的nova-api等异常
    修改ssh默认端口导致的虚拟机resize失败
    ansible自动化测试云平台多个网络角色间带宽(shell模块调用iperf)
    nova的服务心跳机制和服务状态监控机制的实现
    时间不同步导致的nova,cinder服务一会up一会down的来回跳跃
    利用ansible部署keeplived和haproxy集群
    利用ansible检测网络连通性(多个网段多IP)
    通过ansible安装etcd集群
    部署k8s statefulset
  • 原文地址:https://www.cnblogs.com/harelion/p/7105388.html
Copyright © 2020-2023  润新知