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
posted @ 2019-02-14 13:36  linux_ironman  阅读(150)  评论(0编辑  收藏  举报