mysql表复制
mysql表结构复制+mysql表数据复制
mysql> create table t2 like t1;
mysql> insert into t2 select * from t1;
mysql> select * from t1 into outfile '/tmp/a.txt';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql> show variables like '%secure%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| require_secure_transport | OFF   |
| secure_auth              | ON    |
| secure_file_priv         | NULL  |
+--------------------------+-------+
3 rows in set (0.01 sec)
当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
查看数据库当前该参数的值 root@localhost:mysql.sock 00:14:52 [(none)]>show global variables like '%secure%'; 
+------------------+-------+ 
| Variable_name | Value | 
+------------------+-------+ 
| secure_auth | ON | 
| secure_file_priv | NULL | 
+------------------+-------+ 
2 rows in set (0.00 sec)
清楚地看到secure_file_priv 的值是NULL,说明此时限制导入导出的 
所以应该改变该参数 
可是查看了mysql.cnf中居然没有对这个参数进行设定,就说明这个参数默认便是null 
所以再mysql.cnf中的[mysqld]加入secure_file_priv = 
再重启mysql服务 
然后再查一下此时参数的值
root@localhost:mysql.sock 00:28:30 [(none)]>show global variables like '%secure%'; 
+------------------+-------+ 
| Variable_name | Value | 
+------------------+-------+ 
| secure_auth | ON | 
| secure_file_priv | | 
+------------------+-------+ 
2 rows in set (0.00 sec)
mysql> select * from t1 where id in(1,2,3) order by id desc limit 0,2;
+------+-------+
| id   | name  |
+------+-------+
|    3 | zhang |
|    2 | liu   |
+------+-------+
2 rows in set (0.00 sec)
mysql> select * from t1 where id=1 or id=2 or id=3 order by id desc limit 0,2;
+------+-------+
| id   | name  |
+------+-------+
|    3 | zhang |
|    2 | liu   |
+------+-------+
2 rows in set (0.00 sec)
mysql> select * from t1 where id between 1 and 3 limit 0,2;
+------+------+
| id   | name |
+------+------+
|    1 | feng |
|    2 | liu  |
+------+------+
2 rows in set (0.00 sec)
mysql> select * from t1 where id>=1 and id <=3 limit 0,2;
+------+------+
| id   | name |
+------+------+
|    1 | feng |
|    2 | liu  |
+------+------+
2 rows in set (0.00 sec)
mysql> select bName,bTypeId from books where bTypeId=(select bTypeId from category where bTypeName='黑客');
+--------------------------+---------+
| bName                    | bTypeId |
+--------------------------+---------+
| 黑客与网络安全           | 6       |
| 黑客攻击防范秘笈         | 6       |
+--------------------------+---------+
2 rows in set (0.01 sec)
mysql> select bName,price from books where price<(select price from books where publishing="电子工业出版社" order by price asc limit 0,1);
+--------------------------------------------------------+-------+
| bName                                                  | price |
+--------------------------------------------------------+-------+
| 网站制作直通车                                         |    34 |
| 黑客与网络安全                                         |    41 |
内链接查询
mysql> Select a.bname,a.price,b.btypename from books a inner join category b on a.btypeid=b.btypeid;
+---------------------------------------------------------+-------+---------------+
| bname                                                   | price | btypename     |
+---------------------------------------------------------+-------+---------------+
| 网站制作直通车                                          |    34 | 网站          |
| 黑客与网络安全                                          |    41 | 黑客          |
实际使用中inner可省略掉,跟WHERE 子句结果一样
mysql> Select a.bname,a.price,b.btypename from books a, category b where a.btypeid=b.btypeid;
+---------------------------------------------------------+-------+---------------+
| bname                                                   | price | btypename     |
+---------------------------------------------------------+-------+---------------+
| 网站制作直通车                                          |    34 | 网站          |
| 黑客与网络安全                                          |    41 | 黑客          |
| 网络程序与设计-asp                                     |    43 | 网站          |
外连接 (分为左外连接;右外连接)
1.左连接: select 字段 from a表 left join b表 on 连接条件
a表是主表,都显示。
b表从表
统计价格小于50的书籍数量
mysql> select count(*) from books where price < 50;
+----------+
| count(*) |
+----------+
|        6 |
+----------+
1 row in set (0.00 sec)
Count()中还可以增加你需要的内容,比如增加distinct来配合使用
mysql> select count(distinct price) from books where price < 50;
+-----------------------+
| count(distinct price) |
+-----------------------+
|                     4 |
+-----------------------+
1 row in set (0.01 sec)
求书籍Id小于3的所有书籍的平均价格
mysql> select avg(price) from books where bId < 3;
+------------+
| avg(price) |
+------------+
|    61.3864 |
+------------+
1 row in set (0.00 sec)
mysql> select max(price) from books;
+------------+
| max(price) |
+------------+
|        104 |
+------------+
1 row in set (0.00 sec)
显示所有图书单价的总合
mysql> select sum(price) from books;
+------------+
| sum(price) |
+------------+
|       2701 |
+------------+
1 row in set (0.00 sec)
求所有图书中价格便宜的书籍
mysql> select bName,price from books where price=(select min(price) from books);
+-----------------------+-------+
| bName                 | price |
+-----------------------+-------+
| 网站制作直通车        |    39 |
+-----------------------+-------+
1 row in set (0.00 sec)
算数运算:
+ - * /
mysql> update books set price=price+5 where price < 50;
Query OK, 15 rows affected (0.00 sec)
Rows matched: 15  Changed: 15  Warnings: 0
mysql> update books set price=price-5 where price=(select price where price < 50);
Query OK, 6 rows affected (0.00 sec)
Rows matched: 6  Changed: 6  Warnings: 0
concat(str1,str2,str3.....) 拼接。 把多个字段拼成一个字段输出
mysql> select * from books limit 2;
+-----+-----------------------+---------+--------------------------+-------+------------+-----------+------------+
| bId | bName                 | bTypeId | publishing               | price | pubDate    | author    | ISBN       |
+-----+-----------------------+---------+--------------------------+-------+------------+-----------+------------+
|   1 | 网站制作直通车        | 2       | 电脑爱好者杂志社         |    34 | 2004-10-01 | 苗壮      | 7505380796 |
|   2 | 黑客与网络安全        | 6       | 航空工业出版社           |    41 | 2002-07-01 | 白立超    | 7121010925 |
+-----+-----------------------+---------+--------------------------+-------+------------+-----------+------------+
2 rows in set (0.00 sec)
mysql> select concat(bName,publishing) from books limit 2;
+-----------------------------------------------+
| concat(bName,publishing)                      |
+-----------------------------------------------+
| 网站制作直通车电脑爱好者杂志社                |
| 黑客与网络安全航空工业出版社                  |
+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> select concat(bName,"                     ",publishing) from books limit 2;
+-------------------------------------------------------------------+
| concat(bName,"                      ",publishing)                   |
+-------------------------------------------------------------------+
| 网站制作直通车                      电脑爱好者杂志社                |
| 黑客与网络安全                      航空工业出版社                  |
+-------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select concat(bName,"                      ",publishing) as a from books limit 2;
+-------------------------------------------------------------------+
| a                                                                 |
+-------------------------------------------------------------------+
| 网站制作直通车                      电脑爱好者杂志社                |
| 黑客与网络安全                      航空工业出版社                  |
+-------------------------------------------------------------------+
2 rows in set (0.05 sec)
mysql> show variables like '%character%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | utf8                                    |
| character_set_connection | utf8                                    |
| character_set_database   | latin1                                  |
| character_set_filesystem | binary                                  |
| character_set_results    | utf8                                    |
| character_set_server     | latin1                                  |
| character_set_system     | utf8                                    |
| character_sets_dir       | /usr/local/mysql-5.7.25/share/charsets/ |
+--------------------------+-----------------------------------------+
8 rows in set (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show variables like '%character%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | utf8                                    |
| character_set_connection | utf8                                    |
| character_set_database   | utf8                                    |
| character_set_filesystem | binary                                  |
| character_set_results    | utf8                                    |
| character_set_server     | latin1                                  |
| character_set_system     | utf8                                    |
| character_sets_dir       | /usr/local/mysql-5.7.25/share/charsets/ |
+--------------------------+-----------------------------------------+
8 rows in set (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
set临时修改字符集,永久修改,编辑vim /etc/my.cnf,在mysqld中添加character_set_server=utf8,重启mysqld服务即可。
导出指定表的表结构
[root@localhost test]# mysqldump -uroot -p  -d HA(库名) books(表名) > books.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
导出库的所有表结构
[root@localhost test]# mysqldump -uroot -p  -d HA(库名) >HA.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
导出库的所有表数据
[root@localhost test]# mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=utf8  HA  >HA_data.sql
Enter password:
导出指定表的表数据
[root@localhost test]# mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=utf8 HA books > books_data.sql
Enter password: 
--quick 用于转储大的表,强制mysqldump从服务器一次一行的检索数据而不是检索所有行。
--no-create-info 不要创建create table语句
--extended-insert 使用包括几个values列表的多行insert语法,导入数据速度快
--default-character-set 按照原有字符集导出数据,这样不会保存乱码
建库时,强制指定默认字符集
mysql> create database book default charset utf8;
Query OK, 1 row affected (0.03 sec)
mysql> show create database book;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| book     | CREATE DATABASE `book` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
 
                    
                     
                    
                 
                    
                 
                
 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号