MySQL:
一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:
1 sudo netstat -tap | grep mysql
讲数据文件权限更改位所有用户可读写
chmod ugo+wrx **.csv
csv导入mysql
load data infile "/tmp/**.csv" into table 表名 fields terminated by "," lines terminated by '\n';
mysql导出到csv
select * from 表名 into outfile "/tmp/**.csv" fields terminated by "," lines terminated by '\n';
注:ERROR 29 (HY000): File '/tmp/zgc_user_age.csv' not found (Errcode: 13)
出现上述错误时,一个解决办法是:将csv文件放在将要导入的数据库目录下/var/lib/mysql/数据库名(这里需要根用户操作),然后采用load data infile命令
内连接:
select zgc_user_age.product_no,zgc_user_age.age from zgc_user_age inner join zgc_user_day on zgc_user_age.product_no=zgc_user_day.product_no into outfile "/tmp/zgc_age_day.txt" fields terminated by "," lines terminated by '\n';
mysql中用表二的数据更新表一的SQL语句:
假设表一含有字段product_no,sex(空),表二含有字段product_no,sex
现在用表二的sex字段修改product_no与表一相同的行的sex字段法一:update first,second set first.gender=second.gender where first.product_no=second.product_no ;
法二:update first inner join second on first.product_no=second.product_no set first.gender=second.gender;
复制表:
create table dust select * from student;//用于复制前未创建新表dust的情况下
insert into dust select * from student;//已经创建了新表dust的情况下
查看表结构:
desc table_name
HAVING子句可以让我们筛选成组后的各组数据.
WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前. 而 HAVING子句在聚合后对组记录进行筛选
SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region HAVING SUM(area)>1000000 先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中 的不同字段(一或多条记录)作运算。
WHERE 子句作用于表和视图,HAVING 子句作用于组。
WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行。因此,WHERE 子句不能包含聚集函数; 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的。 相反,HAVING 子句总是包含聚集函数。
如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
INSERT INTO 目标表 SELECT * FROM 来源表;
如果只希望导入指定字段,可以用这种方法:
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表(注意字段的顺序必须一致)
从表user_waidi_c_zgc中选出字段cnt>5的行并按opp_city分组求和,得到opp_city_id和求和字段
select opp_city_id,sum(cnt) from user_waidi_c_zgc where cnt>5 group by opp_city_id;