根据列名插入
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)
插入值与表设计字段顺序一致
INSERT INTO 表名称 VALUES (值1, 值2,....)
从A表数据插入到B表
insert into B (字段1,字段2) select 字段1,字段2 from A
修改表字段
UPDATE 表名称 SET 列名称1 = 新值1,列名称2 = 新值2,…… WHERE 列名称 = 某值
删除数据
DELETE FROM 表名称 WHERE 列名称 = 值
select * from V_WATER_ZX_AUTOMONI_WATERDATA_MONTH
select POINT_NAME,a.POLLUTE_NAME,a.POLLUTE_VALUE
from BYNEDC_SHARE.dbo.V_WATER_ZX_AUTOMONI_WATERDATA_MONTH
unpivot(POLLUTE_VALUE for POLLUTE_NAME in(TN,TP,NH3_N,COD))a
Select upper(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('MD5',加密字段)),3,32))
Update 表1 set name=L.name,
BCRQ=l.BCRQ,sjnf=l.SJNF from 表1
inner join 表2 L on iid=L.bimid
select substring(字段,charindex('元',字段)+1,
charindex('室',字段)-charindex('元',字段)-1)
from 表 where 字段like '%单元%室%'
delete from 表
where MATCH_NAME in (
--查询出重复数据
select MATCH_NAME from 表 where MATCH_TYPE ='hbsp'
group by MATCH_NAME having count(*) > 1
)
--过滤掉这条数据
and MATCH_CODE not in (
--查询重复数据中 ID 最小的那条
select min(MATCH_CODE) from 表
where MATCH_TYPE ='hbsp'
group by MATCH_NAME having count(*)>1
)
and MATCH_TYPE ='hbsp'
select to_char( to_number(字段)) from 表名
select * from v$sql_history
ahld:用户名
ahld_123:用户密码
%:可连接IP地址,%表示任意IP地址
testdb.*:testdb库下的所有表*.*:所有库的所有表
create user 'ahld'@'%' identified by 'ahld_123';
仅开通表的查询权限给’ahld’ 用户
select 可替换成其他权限:insert, update, delete,create ,alter ,drop
全部权限:all
也可一次性给多个权限
grant select on 表名 to 'ahld'@'%';
grant select, insert, update, delete on testdb.* to 'ahld'@'%'
关于grant权限总结的很好的文章,借鉴学习下:https://www.cnblogs.com/yunfeioliver/p/7887676.html
update 表1,表2
set 表1.字段=表2.字段
where 表1.字段=表2.字段
YEAR(日期字段):获取日期字段中的年
concat(字段1,字段2):合并两个字段成一个字段
datediff(日期1,日期2):计算2个日期间相差的天数
date_format(日期,'%Y-%m-%d'):格式化日期为 2020-10-10形式
TIMESTAMPDIFF(hour, b.data_time, a.data_time)=60:计算2个时间之间的差数
hour 可换成:day/month/minute/year
DATE_SUB(日期,interval 24 hour):获取日期的前 24小时
hour可换成:day/month/minute/year
DATE_FORMAT(date_sub( 字段, INTERVAL dayofweek(字段)- 2 DAY ),
'%Y-%m-%d') :获取该日期 所在周的第一天日期