ngtwewy

1, MySQL生成随机数的函数 RAND()select RAND(); 0.10994928061026081 2, 获取上面那个随机数以后,便可以通过 CEILING() 向上取整 或 FLOOR() 向下取整,以获取随机整数。 例子:-- 生成 3 位的随机数 SELECT CEILING(RAND()*900+100); -- 生成 4 位的随机数 SELECT CEILING(RAND()*9000+1000); -- 生成 5 位的随机数 SELECT CEILING(RAND()*90000+10000);

2021-05-18    MySQL    88
ngtwewy

SELECT id,title FROM tb_item GROUP BY id SELECT id,title,count(*) AS counter FROM tb_item GROUP BY id counter 实际上是每组的计数统计分组后的数据,应该使用这样的子查询:select count(*) from (select count(*) FROM service GROUP BY name,service) t 实例:var replacements = {tags:"11,12,13"} var sql = ` SELECT id,tags,title,r.*

2021-04-11    MySQL    115
ngtwewy

一、concat()函数concat(str1, str2,...) 将多个字符串连接成一个字符串。返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。例子:select concat (id, title, counter) as info from tb_user; select concat (id, ',', title, ',', counter) as info from tb_user; 二、concat_ws()函数concat_ws(separator, str1, str2, ...) 和concat()一样,将多个字符串连接成一个字符

2021-04-10    MySQL    91
ngtwewy

MySQL手册中find_in_set函数的语法:FIND_IN_SET(str,strlist) str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist

2021-04-10    MySQL    88
ngtwewy

显示所有重复数据分组SELECT origin_id FROM topk88_product GROUP BY origin_id HAVING count(*)>1 删除所有重复DELETE FROM topk88_product WHERE origin_id IN ( SELECT origin_id FROM topk88_product GROUP BY origin_id HAVING count(*)>1 ); 提示:You can't specify tar

2021-03-17    MySQL    157
ngtwewy

1,DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。2,表和索引所占空间。当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,DELETE操作不会减少表或索引所占用的空间。drop语句将表所占用的空间全释放掉。3,Truncate table 表名 速度快,而且效率高,因为: truncate table 在功能上与不带 WHE

2021-01-20    MySQL    170
ngtwewy

商品库存肯定是很有限的,如何控制库存不让出现超买是一个非常重要的问题。事务是控制库存超卖的必要不充分条件。举例:总库存:4个商品请求人:a、购买1个商品 b、购买2个商品 c、购买3个商品程序如下:beginTranse try{ result = db->query('select amount from s_store where postID = 12345'); if(result->amount > 0){ //quantity为请求减掉的库存数量 db->query('update s_store set amount = amount - qua

2021-01-20    MySQL    393
ngtwewy

tags字段是逗号隔开tag id。查询一select i.id, i.title, i.tags, (select GROUP_CONCAT(tb_tag.title SEPARATOR ',') from tb_tag where id in (i.tags) ) as tags_title from tb_item as i; 结果:查询二select i.id, i.title, i.tags, (select GROUP_CONCAT(tb_tag.title SEPARATOR ',') fro

2021-01-13    MySQL    187
ngtwewy

(一)建表规约1. 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是, 0 表示否)。说明: 任何字段如果为非负数,必须是 unsigned。注意: POJO 类中的任何布尔类型的变量,都不要加 is 前缀,所以,需要在设置从 is_xxx 到 Xxx 的映射关系。数据库表示是与否的值,使用 tinyint 类型,坚持 is_xxx 的命名方式是为了明确其取值含义与取值范围。正例: 表达逻辑删除的字段名 is_deleted, 1 表示删除, 0 表示未删除。2. 【强制】表名、字段名必须使用小写字母或数字, 禁止出现

2020-04-24    MySQL    255
ngtwewy

1.切记不要用字符串存储日期我记得我在大学的时候就这样干过,而且现在很多对数据库不太了解的新手也会这样干,可见,这种存储日期的方式的优点还是有的,就是简单直白,容易上手。但是,这是不正确的做法,主要会有下面两个问题:i. 字符串占用的空间更大!ii. 字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。2.Datetime 和 Timestamp 之间抉择Datetime 和 Timestamp 是 MySQL 提供的两种比较相似的保存时间的数据类型。他们两者究竟该如何选择呢?通常我们都会首选 Timestamp。 下面说一下为什么这样做!2.1 Da

2020-03-17    MySQL    448
ngtwewy

本方法不易维护,建议取出数据,在程序中递归,例如 https://javascript.net.cn/article?id=654代码如下:delimiter / DROP FUNCTION IF EXISTS `getChild` / CREATE FUNCTION `getChild`(rootId INT) RETURNS VARCHAR(1000) BEGIN DECLARE ptemp varchar(1000); DECLARE ctemp varchar(1000); SET ptemp = '#'; SET ctemp =ca

2020-02-13    MySQL    292
ngtwewy

1, 指定了AUTO_INCREMENT的列必须要建索引,不然会报错,索引可以为主键索引,当然也可以为非主键索引。(不一定要做主键)2, 指定了auto_increment的列,在插入时:如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。3,当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。4,如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增。5,对于MyISAM表,如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果

2019-07-26    MySQL    273
ngtwewy

一般不要使用保留关键字。如果使用了保留关键字,将关键字前后加" ` " 可以解决问题。 MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子: ACTION,BIT,DATE,ENUM,NO,TEXT,TIME,TIMESTAMP MySQL保留关键字如下: ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH

2019-07-17    MySQL    281
ngtwewy

有一个表有十万条数据,SELECT COUNT(*) FROM t_tablename; 时间长达10秒以上。 解决办法,把 Primary Key 加上 Unique 约束了,速度变成30毫秒了,解决了。 不太清楚原因,先记着。 参考:https://blog.csdn.net/landstream/article/details/79673176

2019-05-17    MySQL    333
ngtwewy

INSERT INTO tp_article( name, user_id, category_id, thumbnail, content, description, create_time, tags ) SELECT title, FLOOR(2 + (RAND() * 10)), category, thumbnail, content, description, UNIX_TIMESTAMP(create_time) + ce

2018-10-26    MySQL    318
ngtwewy

1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql 命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword --databases db1 db2 > db1db2.sql 4、导入某些库mysql命令行mysql>source db1db2.sql; 5、导入某个库系统命令行mysql -uusername -ppassword db1 或mysql命令行mysql>use db1; my

2018-10-09    MySQL    280
ngtwewy

索引的选择性是指索引列中不同值的数目和表的记录数的比值。假如表里面有1000条数据,表索引列有980个不同的值,这时候索引的选择性就是980/1000=0.98 。索引的选择性越接近1,这个索引的效率很高。 e.g. 性别可以认为是3种,男,女,其他。如果创建索引,查询语句 性别=‘男'的数据,索引的选择性就是3/1000=0.003。索引的选择性值很低,对查询提升不大,所以性别建索引意义不大

2018-09-24    MySQL    271
ngtwewy

创建表 CREATE TABLE `kfinfo` (     `Name` varchar(100) DEFAULT NULL,     `CardNo` varchar(50) DEFAULT NULL,     `Descriot` varchar(150) DEFAULT NULL,     `CtfTp` varchar(50) DEFAULT NULL,     `CtfId` varchar(50) DEFAULT NULL,     `Gender` varchar(50) DEFAULT NULL,     `Birthday` varchar(50) DE

2018-09-24    MySQL    280
随机推荐
Apache、PHP 配置 open_basedir,以及性能问题
CSS实现单行、多行文本溢出显示省略号
Javascript网页打印大全
Javascript游戏中的“透视”
如何选择开源许可证?
NETFLIX纪录片: 设计的艺术 - 平面设计
Android Studio 修改 App 名称
Windows 批处理,Winrar 自动备份 Apache 每个网站到单独文件中
JS中(function(){xxx})(); 这种写法是什么意思?
HTTP 协议入门