zoukankan      html  css  js  c++  java
  • Linux_18/ mysql

    https://www.cnblogs.com/programmer-tlh/p/5782418.html

    database and table

      database table  
    1 SHOW DATABASES; SHOW TABLES; 显示
    2 USE db_name; SELECT * FROM tab_name;  使用
    3 CREATE DATABASE db_name; CREATE TABLE tab_name(name char(15), price int, pages int); 新建
    4   DESCRIBE tab_name;  
    5    INSERT INTO tab_name(name, price, pages) VALUES('abc', 60, 666);
        INSERT INTO tab_name(name, price, pages) VALUES('abc', 60, 666), ('def', 101, 200)  
        INSERT INTO tab_name(name, orice, pages) SELECT () FROM tab_name;  
    6    UPDATE tab_name SET price=55 WHERE id>1;
    7    SELECT price FROM tab_name; / SELECT * FROM tab_name;
    8    DELETE FROM tab_name; 清空
         DELETE FROM tab_name WHERE id=1 AND name='alex';  
    9  DROP DATABASE db_name;  DROP TABLE tab_name; 删除
           
    10   ALTER TABLE tab_name ADD column type; 添加列
    11   ALTER TABLE tab_name DROP COLUMN col_name; 删除列
    12   ALTER TABLE tab_name MODIFY COLUMN col_name type; 修改列类型
    13   ALTER TABLE tab_name CHANGE col_name1 col_name2 type; 修改列名,类型
    14   ALTER TABLE tab_name ADD PRIMARY KEY(col_name); 添加主键
    15   ALTER TABLE tab_name DROP PRIMARY KEY; 删除主键
    16   ALTER TABLE tab_name MODIFY col_name INT, DROP PRIMARY KEY; 删除主键
    17     添加外键
    18     删除外键
    19     修改默认值
    20     删除默认值

     参考:https://www.cnblogs.com/programmer-tlh/p/5782418.html

     

    where

    参数 作用 举例
    BETWEEN 在某个范围内 SELECT * FROM tab_name WHERE price BETWEEN 20 AND 60;
    LIKE 搜索一个例子 SELECT * FROM tab_name WHERE name LIKE 'JAVA';
    IN 在列中搜索多个值  SELECT * FROM tab_name WHERE price IN (25, 30,45); 或者NOT IN
        SELECT * FROM tab_name WHERE price IN (SELECT money FROM tab_name2);
    = 相等  
    != 或者 <> 不等  
    > 大于  
    < 小于  
    >= 大于等于  
    <= 小于等于 SELECT * FROM tab_name WHERE price<=50;
    limit 前5行 SELECT * FROM tab_name LIMIT 5;
      第3行开始的2行 SELECT * FROM tab_name 3,2;
      第3行开始的2行 SELECT * FROM tab_name 2 OFFSET 3;

    备份:

    mysqldump -uusername -p passwd db_name > path to save db file

    恢复:

    mysql -uusername -p db_name < path to save db file

    或者

    USE db_name; SOURCE path_to_save_db_name;

    user

         
    1 CREATE USER username@ip IDENTIFIED BY 'passwd'; 新建用户
    2 SET PASSWORD FOR username@ip=PASSWORD='pw'; 修改密码
    3 RENAME USER user1@localhost TO user2@localhost ; 修改用户
    4 DROP USER username@ip; 删除用户

     grants

         
    1 SHOW GRANTS FOR username@ip;

    显示,ip:

    localhost:本地

    192.168.28.%:网段

    %:任意IP地址

    2 GRANT SELECT, UPDATE, DELETE, INSERT ON db_name.table_name TO username@ip; 授权
    3 REVOKE ALL PRIVILEGES ON db_name.tab_name FROM username@ip 取消授权
    4    

    more about backup and restore:

    备份:
    1.备份全部数据库的数据和结构
    
    mysqldump -uroot -p123456 -A >F:all.sql
    
    2.备份全部数据库的结构(加 -d 参数)
    
    mysqldump -uroot -p123456 -A -d>F:all_struct.sql
    
    3.备份全部数据库的数据(加 -t 参数)
    
    mysqldump -uroot -p123456 -A -t>F:all_data.sql
    
    4.备份单个数据库的数据和结构(,数据库名mydb)
    
    mysqldump -uroot -p123456 mydb>F:mydb.sql
    
    5.备份单个数据库的结构
    
    mysqldump -uroot -p123456 mydb -d>F:mydb.sql
    
    6.备份单个数据库的数据
    
    mysqldump -uroot -p123456 mydb -t>F:mydb.sql
    
    7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)
    
    mysqldump -uroot -p123456 mydb t1 t2 >f:multables.sql
    
    8.一次备份多个数据库
    
    mysqldump -uroot -p123456 --databases db1 db2 >f:muldbs.sql
    还原:
    还原部分分(1)mysql命令行source方法 和 (2)系统命令行方法
    
    1.还原全部数据库:
    
    (1) mysql命令行:mysql>source f:all.sql
    
    (2) 系统命令行: mysql -uroot -p123456 <f:all.sql
    
    2.还原单个数据库(需指定数据库)
    
    (1) mysql>use mydb
    
    mysql>source f:mydb.sql
    
    (2) mysql -uroot -p123456 mydb <f:mydb.sql
    
    3.还原单个数据库的多个表(需指定数据库)
    
    (1) mysql>use mydb
    
    mysql>source f:multables.sql
    
    (2) mysql -uroot -p123456 mydb <f:multables.sql
    
    4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
    
    (1) mysql命令行:mysql>source f:muldbs.sql
    
    (2) 系统命令行: mysql -uroot -p123456 <f:muldbs.sql
    ------ 时间永远是公平的,你付出多少时间,时间就回报你多少。
  • 相关阅读:
    开机启动服务(ftp、apache、mysql)
    ElasticSearch + Canal 开发千万级的实时搜索系统【转】
    filebeat 报错 Unable to create runner due to error: Can only start a prospector when all related states are finished
    linux挂载 mount
    cas单点登录原理
    SpringBoot项目集成cas单点登录
    注解@Slf4j的作用
    Java操作Redis
    CentOS下firewalld添加开放端口
    Prometheus Querying Function rate() vs irate()
  • 原文地址:https://www.cnblogs.com/zhxu/p/10373042.html
Copyright © 2011-2022 走看看