关于sql语句基本写法和函数
连表修改
第一种
表B查询符合条件,然后根据id连表修改表A的某行或者多行记录
update A as a, B as b
set a.name = b.simple_name
where a.key1 = “project_name” and a.project_code=“scsc_project”
第二种
根据id边表修改
用左连接来,表B查询符合条件,然后根据id连表修改表A的某行或者多行记录(两张表)
update A as a left join B as b on a.id =b.id set a.name= b.name where a.key ="XX " and b.key ="XX "
第三种(两张以上的表)
这一种是先统计出数据,然后根据id来连表修改,这种是用于两张表以上的统计出来数据,然后在修改
update A as a left join (select id ,name,key from C where key =“XX” ) as B on a.id =b.id set a.name= b.name where a.key ="XX " and b.key ="XX " ;
一种数据格式转换成另一种格式
CAST()
例子:
SELECT CAST(‘9.0’ AS decimal) 结果:9
多个字符串合并
concat()
例子:
SELECT CONCAT(’My’, ‘S’, ‘QL’);
字段合并成一列,中间用,分开
GROUP_CONCAT(user_id) 合成1,2,3
自定义日期中类型, 中间可以自定符号,自定义获取年月日
DATE_FORMAT(planned_completion_time,’%Y%m%d’)
ROUND 四舍五入
例子:
SELECT ROUND(column_name,decimals) FROM table_name;
IFNULL() 判断第一参数为空,第一参数为空就返回第二参数,反正返回第一参数
SELECT IFNULL(NULL, “RUNOOB”);
数据库建表 有以下问题,
1)是否 这种字段 要 以is开头
2)字段名 因为不够字见其意/有问题,建议使用百度翻译 + 百度百科,典型的案例如下
exploit_cycle 开发周期
stall_estimated_price 车位预估售价
else_project_condition 其他规划条件