create
table
t(
id
uniqueidentifier
not
null
default(
newid()))
--guid不会重复,36位字符+字母+数字
--全数字
create
table
t(
id
char(10)
not
null
default(
right('0000000000'+rtrim(abs(checksum(newid())))+rtrim(abs(checksum(newid()))),16)))
在mysql中随机生成一些范围内的整数,可以借助mysql提供的二个函数来实现。
它们是floor()与rand()函数,下面分别介绍下。
1、floor(f)
返回一个不大于f的最大整数
2、rand(),rand(n)
返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 10)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() (j – i + 1))。
例如, 在7到 12 的范围(包括7和12)内得到一个随机整数,使用语句:
SELECT FLOOR(7 + (RAND() 6));
在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数 其中常用的有以下两个
DBMS_RANDOM VALUE函数
该函数用来产生一个随机数 有两种用法
产生一个介于 和 之间(不包含 和 )的 位精度的随机数 语法为
DBMS_RANDOM VALUE RETURN NUMBER;这种用法不包含参数
产生一个介于指定范围之内的 位精度的随机数 语法为
DBMS_RANDOM VALUE(low IN NUMBER high IN NUMBER) RETURN NUMBER;这种用法包含两参数 参数low用来指定要生成的随机数的下限 参数high指定上限 生成的随机 请注意生成的随机数有可能等于下限 但绝对小于上限 即“low<=随机数
举个例子: 要产生一个 到 之间的数可以这样写: DBMS_RANDOM VALUE( )
DBMS_RANDOM STRING函数
该函数产生一个随机字符串 语法为
DBMS_RANDOM STRING (opt IN CHAR len IN NUMBER) RETURN VARCHAR ;参数len指定生成的字符串的长度
参数opt指定生成的字符串的样式 允许的取值及其表示的含义如下表所示
取值 含义 ‘u’或’U’ 返回一个由大写字母组成的字符串 ‘l’或’L’ 返回一个由小写字母组成的字符串 ‘a’或’A’ 返回一个由大写字母和小写字母组成的字符串 ‘x’或’X’ 返回一个由大写字母和数字组成的字符串 ‘p’或’P’ 返回一个由任意的可打印字符组成的字符串 lishixinzhi/Article/program/Oracle/201311/19036
SQL Server本身就是一个完善的数据库,提供可视化编程,后台完成所有拖放处理 *** 作,不管有没有数据都可以使用,不需要编译。
一个比较合理的数据库设计应该考虑数据的交互性和挖掘能力、处理效率以及日志记录。
建立数据表,注意以下几点:
表建立的时候要有主键和索引,表与表之间要能使用主键相联系,举例说在A表里我做完一次记录要生成一个单号,B表里面是依据单号来做下一个流程,而不是依据记录的每一条数据
取名尽量使用英文+下划线,SQL Server里对汉字需要转码,影响工作效率,按照他的默认编码方式 *** 作有助于提高数据处理速度
建立数据表的列数不要太多,用编码规则来建立逻辑
注意字段存储空间,限制字段长度,少用注释和image
存储过程尽量简洁实用
建立视图,为了别的客户端使用,尽量建立视图,做好完整的数据分析,别的接口程序或者客户端直接就可以拿去使用。做视图注意几点:
多个表 *** 作写在一个视图里,不要嵌套太多视图
连接查询要适当的筛选
跨服务器 *** 作视图,要建立服务器链接表,尽量使用内网链接,把服务器链接表做成查询视图,放在本地服务器数据库里,这样就等同本地 *** 作
视图之间保留连接字段作为主要索引
建立计划作业,有计划地进行数据同步更新和备份标识工作,注意事项:
备份数据尽量放数据库里同步复制
计划任务避开工作高峰期
建立存储过程,记录 *** 作日志,把日志以数据表的形式存储,注意事项:
存储过程对本表 *** 作,不要交互太多表
精简参数数量,注意参数存储空间
对记录修改删除、更新标记的时候尽量使用时间来索引
建立关系图,给表与表之间建立直接关系,整理整体挖掘数据性能。
建立计划更新任务,优化数据库整体性能。
/
MySQL 随机取记录
@param $t 表
@param $c ID列,默认为id
@param $n 取多少个
@param $w 条件语句
@param $f bool 是否强制以多维数组形式返回,默认false
@return array 取1个直接返回结果数组(除非$f为true),取>1个返回多维数组,用foreach取出
/
function rand_row($t , $c = 'id' , $n = '1', $w = '' , $f = false) {
$m=new mysqli(mysqli信息,自行查找php文档);
if (!empty($w)) {
$w = ' AND '$w;
}
$sql = "SELECT FROM `{$t}` WHERE {$c} >= (SELECT floor(RAND() (SELECT MAX({$c}) FROM `{$t}`))) {$w} ORDER BY {$c} LIMIT {$n};";
$xq = $m->query($sql);
$r = array();
while ($x = $m->fetch_array($xq)) {
$r[] = $x;
}
if ($f == false && count($r) == 1) {
return $r[0];
} else {
return $r;
}
}
以上就是关于SQL数据库字段的默认随机值全部的内容,包括:SQL数据库字段的默认随机值、在mysql 数据库如何添加随机数字、oracle数据库生成随机数的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)