做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
SQL> select rownum as id,
2 to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,
3 trunc(dbms_random.value(0, 100)) as random_id,
4 dbms_random.string('x', 20) random_string
5 from dual
6 connect by level <= 10;
ID INC_DATETIME ......
做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
SQL> select rownum as id,
2 to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,
3 trunc(dbms_random.value(0, 100)) as random_id,
4 dbms_random.string('x', 20) random_string
5 from dual
6 connect by level <= 10;
ID INC_DATETIME ......
1、SELECT 查询语句和条件语句
SELECT 查询字段 from 表名 WHERE 条件
查询字段:可以使用通配符* 、字段名、字段别名
表名: 数据库.表名 ,表名
常用条件: = 等于 、<>不等于、in 包含 、 not in 不包含、 like 匹配
BETWEEN 在范围 、 not BETWEEN 不在范围 < 、>
件运算: and 、 or 、 ( )
2、排序,分组,指针查询,计算
分组语句:group by 字段
排序语句:order by 字段,字段 ASC / DESC
指针查询:limit 初始值,结束值
计算:
COUNT(*) 统计函数
MAX(*) 最大值函数
MIN (*) 最小值函数
AVG(*) 平均值函数
SUM(*) 累计值函数(∑)
3、Insert 插入语句
insert into 表名 (字段…,…) values(值…,…)
insert into 表名 values(值…,…)
插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象
4、Update 更新语句
UPDATE 表名 SET 字段 = 值 WHERE 条件 limit
5、Delete 删除语句
DELETE from 表名 WHERE ......
信息表(infor)工资表(pay)
内连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay join infor on infor.name=PAY.name
左外连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay left join infor on infor.name=PAY.name
PS:结果有王五,工资为0
右外连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay right join infor on infor.name=PAY.name
全外连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay full join infor on infor.name=PAY.name ......
表如下
一条语句显示所有大于25岁和下的人,以上的人显'大龄'
select case when age>25 then '大龄' else '小龄' end as 年龄级别,count(*) as 人数 from infor group by case when age>25 then '大龄' else '小龄' end
......
sysaltfiles 在master数据库中,包含与数据库文件相对应的信息,包含所有数据库的数据文件以及日志文件
列名数据类型描述
fileid
smallint
每个数据库的唯一文件标识号。1代表数据文件,2代表日志文件
groupid
smallint
文件组标识号。
size
int
文件大小(以 8 KB 页为单位)。页的数目
maxsize
int
最大文件大小(以 8 KB 页为单位)。0 值表示不增长,–1 值表示文件应一直增长到磁盘已满。
growth
int
数据库的增长大小。0 值表示不增长。根据状态的值,可以是页数或文件大小的百分比。如果 status 为 0x100000,则 growth 是文件大小的百分比;否则是页数。
status
int
仅限内部使用。
perf
int
保留。
dbid
smallint
数据库ID
name
nchar(128)
文件的逻辑名称。
filename
nchar(260)
物理设备的名称,包括文件的完整路径。
sys.databases sql2005的视图
sysdatabase 是为了兼容以前的版本的
这两个是包含不同的信息视图,sys.databases 包含的更多的是一些 set 设置信息 ,sysdatabase包含的主要是数据文件路径信息。
syscolumns 表的列信息
syscomments
syscolumns&nb ......
php中如何关闭notice级的错误提示
2008-09-04 15:39
1.在php.ini文件中改动error_reporting
改为:
error_reporting = E_ALL & ~E_NOTICE
如果你不能操作php.ini文件,你可以用下面的方法来实现
2.在你想禁止notice错误提示的页面中加入下面的代码
/* Report all errors except E_NOTICE */
error_reporting(E_ALL ^ E_NOTICE);
......