Mysql
mysql创建时间字段¶
CREATE TABLE `proxy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`proxy_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`proxy_pwd` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`proxy_mac` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
create_time表示新增一条数据的时候, 显示当前的时间, 也就是说, 默认显示的是创建此条数据的时间
update_time表示更新此条数据数据的时间, 默认显示的是更新数据的时间
mysql json查询包含在某个数组内的数据¶
mysql json对象选择¶
mysql创建并复制表¶
mysql创建触发器¶
当插入数据时, 更新库存数量
CREATE TRIGGER consume_copy_insert AFTER INSERT ON consume_copy FOR EACH ROW
BEGIN
UPDATE good_stock_copy a SET goodCount=goodCount-NEW.consumeCount WHERE goodId = NEW.consumeGoodId;
END;
当删除数据时, 更新库存数量
DROP TRIGGER IF EXISTS consume_copy_delete;
CREATE TRIGGER consume_copy_delete AFTER DELETE ON consume_copy FOR EACH ROW
BEGIN
UPDATE good_stock_copy a SET goodCount=goodCount+OLD.consumeCount WHERE goodId = OLD.consumeGoodId;
END;
mysql排名¶
rank() over,dense_rank() over,row_number() over的区别
https://www.cnblogs.com/scwbky/p/9558203.html
SELECT d.`name` Department,s.`name` Employee,s.salary Salary FROM (SELECT *,RANK() OVER(PARTITION BY e.departmentId ORDER BY e.salary DESC) rank1 FROM employee e) s,department d WHERE s.rank1 = 1 AND s.departmentId = d.id;
oracle查询某月最后一天日期¶
判断是否为空¶
不为空则返回0
COALESCE()函数可以用来完成几乎所有的空值处理,不过在很多数据库系统中都提供了它的简化版,这些简化版中只接受两个变量,其参数格式如下:
MYSQL:
MSSQLServer:
Oracle:
日期差¶
linux mysql安装¶
设置所有IP访问