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