mysql生成排名列

SET @r = 0;
SET @l = 0;
SET @s = 1;
UPDATE `数据表` SET `名次列` = (
CASE
WHEN `排名值列` = @l THEN @r := @r + (@s := @s + 1) - @s
ELSE @r := (@r + @s) + (@s := 1) - 1 END)
WHERE 1 
ORDER BY `排名值列` DESC

可以实现并列排名,名次值类似:1,2,3,3,3,6,6,8……

MYSQL数据表操作

MYSQL数据表操作

  • 拷贝table1的全部数据到table2
INSERT INTO table2 SELECT * FROM table1
  • 拷贝table1的第n条数据到table2
INSERT INTO table2 SELECT * FROM table1  WHERE id=n
  • 拷贝table1的第n条数据的t1、t2字段到table2
INSERT INTO table2 ( t1 , t2 ) SELECT t1 , t2  FROM table1  WHERE id=n
  • 创建table2,同时拷贝table1的数据和结构到table2
CREATE TABLE table2 SELECT * FROM table1
  • 创建table2,只拷贝table1的结构到table2,不拷贝数据
CREATE TABLE table2 LIKE table1

MySQL提取身份证号码中的生日和性别

设表格为t身份证号码列为sfz,生日列为sr,性别列为xb:

UPDATE `t` SET `sr`=cast(substring(sfz,7,8) as date) WHERE 1
//提取表t中sfz列数值第7位开始的8位数字并转换为date格式,更新到sr列
UPDATE `t` SET `xb` = MOD(substring(`sfz`,17,1),2) WHERE 1
//提取表t中sfz列数值第17位开始的1位数字并对2取余(奇数为1,男;偶数为0,女)

仅对18位身份证号码有效

PHP文件读取和保存

  • 文件保存file_put_contents
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
//如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False。
file_put_contents( string $filename , mixed $data, FILE_APPEND | LOCK_EX);
//向文件追加写入内容
//使用 FILE_APPEND 标记,可以在文件末尾追加内容
//LOCK_EX 标记可以防止多人同时写入
//mode可能值: FILE_USE_INCLUDE_PATH    FILE_APPEND   LOCK_EX
参数描述
file必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data必需。规定要写入文件的数据。可以是字符串、数组或数据流。
mode可选。规定如何打开/写入文件。
context可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

win7下cd命令的使用

windows 7 下使用cd命令不报错,但是无法切换目录,需要使用cd /d才行。示例如下:

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd d:\python38

C:\Users\Administrator>cd /d d:\python38

d:\Python38>