mysql笔记

1.INSERT INTO SELECT 语法

我们可以从一个表中复制所有的列插入到另一个已存在的表中:

INSERT INTO table2
SELECT * FROM table1;

或者我们可以只复制希望的列插入到另一个已存在的表中:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

2.清空表,主键重置从1开始

TRUNCATE TABLE table_name

3.数据导入导出

  • 导入sql

    mysql -u 用户名 -p  数据库名 < 数据库名.sql

    或者,

    USE 数据库 

    source SQL文件


mysql -uroot  -pxxx 库名 --local-infile=1 -e "SET NAMES 'utf8';load data local infile '/home/hadoop/WholeUsers.txt' into table district_user  fields terminated by'\t' lines terminated by'\n';"

mysql -hxx.xx.xx.xx -P3306 -uroot -pxxx 库名 --local-infile=1 -e "SET NAMES 'utf8';load data local infile '/home/dmap/WholeUsers' into table district_user FIELDS TERMINATED BY ',' (date,district,user);"

或者,load data命令导入CSV文件:

load data local infile 'c:/oss/data.csv' into table 库名.表名 fields terminated by '\t' lines terminated by '\n'

如果使用Navicat客户端,功能就更强大了,导入excel格式文件到数据库:选中数据库-右击-"导入向导"-选择文件格式导入各类型文件

  • 导出sql

    mysqldump -u 数据库链接用户名 -p  目标数据库  -e sql语句 > 存储的文件名.sql

    然后回车输入密码就可以了

mysql -h xx.xx.xx.xx -P 3306 -u root -proot 库名 -e "SET NAMES 'utf8';select date, district, sum(user) as user from district_user where date>='20190101' group by date;" > WholeUsers.csv

4.将查询结果输出到文件

将查询结果输出到文件liu.xls

SELECT * into outfile 'my_data.xls'
FROM tb1;


    将查询结果输出到指定路径下的文件


 SELECT lng,lat into outfile 'D://ggg.txt' 
 FROM maps;

5.MySQL 8.0函数 ROW_NUMBER() OVER()函数的使用

ROW_NUMBER() OVER(PARTITION BY 字段1 ORDER BY 字段2 desc)

按字段1分组,row_number()从1开始,为每一条分组记录返回一个数字,写在select后面,却是在where条件执行之后执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值