保证程序的正确性,主键ID首先具有唯一性,设置自动增长在前台Insert的时候不需要传入ID的值,数据库自动根据最后一个ID值增加1保证数据库主键不重复而且调用更为高效。
假如说没有设置自动增长在insert一条记录的时候需要人为传递ID值。要保证唯一性必须要先获得上条记录的ID用select然后再加一然后在执行insert从效率方面降低程序的灵活性。
个人见解。
按磁盘剩余空间的10%自动增长,这个实现不了。 如果表空间设置为自动增长,在空间不足的情况下Oracle系统会自动增长表空间的,但是也不会超过磁盘的总空间大小。 创建表空间的语法如下:create tablespace jydbdatafile 'XXX\XXX\xxdbf' --这里数据文件的路径你自己视情况定size 5120Mautoextend onnext 1024Mextent management local --这里设置表空间为本地管理
三、1select from 职工 where 工资 < avg(工资)
2select from 职工 order by 工资 asc
3select from 职工 order by 工资 compute avg(工资) by 仓库号
4insert into 仓库 values ('WH6','长沙',1000)
5update 职工 set 工资 = 工资+200 where 职工号= 'E006'
6select a名字,a仓库号,b城市 from 职工 a join 仓库 b on a仓库号=b仓库号
7select 名字 from 职工 where 仓库号 in (select 仓库号 from 仓库, where 城市='北京')
8delete from 供应商 where 地址 like '%长春%'
9 drop table 职工
10alter table 职工 add const gz check(工资 between 1500 and 5000)
四、1create database library
on primary --默认就属于Primary 主文件组,可省略
(
/--数据文件的具体描述--/
Name='library_data', --主数据库的物理名称
Filename='d:\data\library_datamdf' ,--主数据库的物理名称
size=5MB , --主数据库的初始大小
Maxsize=20Mb, --主数据库文件增长最大文件增长
Filegrowth =10%
)
Log on
(
/--日志文件具体描述同上--/
name='library_log',
Filename='e:\data\library_logldf',
Size=2MB,
MaxSize=10MB,
FIleGrowth=1MB
)
五、1create table 职工表(
职工编号 char(10)primary key,
姓名 char(30),
性别 char(2) check (性别='男' or 性别='女'),
出生日期 smalldatetime check ( 出生日期 > '1960-01-01'),
部门编号 char(10) FOREIGN KEY REFERENCES 部门表(部门编号)
)
2 (1)alter table 部门表 add 部门经理 char(10)
(2)select from 图书表 where 出版社编号 = (select 出版社编号 from 出版社 where 出版社名称 = '清华大学出版社出版' )
(3)select 图书编号,书名 from 图书表 where 书名 like '%数据库%'
(4) select from 职工表 where 性别='女' and 部门编号 in (select 部门编号 from 部门表 where 部门名称 = ‘文科图书室’ ) order by 出生日期 desc
(5) select 图书的编号,名称 from 图书表 where 出版社编号 in (select 出版社编号 from 出版社表 where 出版社名称 = '机械工业出版社' ) and 部门编号 in (select 部门编号 from 部门表 where 部门名称 = '理科图书室' )
(6) select from 职工表 order by 部门编号,性别 compute count() by 部门编号,性别
(7) select 部门编号,count() as 管理图书数目 from 图书表 group by 部门编号 having count() >1000
(9) select 图书编号,书名 from 图书表 where 部门编号 in (select 部门编号 from 职工表 where 姓名 like '%张%' )
(10) select a书名,a作者,a出版社编号,b出版社名称,b地址 into 新表 from 图书表 a join 出版社表 b on a出版社编号= b出版社编号
首先定义个函数试试
create or replace function times
(intimes number,
inaddmonth number)
return varchar2 is
Result varchar2(6);
begin
Result :=substr to_char(sysdate,'yyyy-mm-dd hh24:mi:ss',9,16)
return(Result);
end times;
设置自动增长名称为add_name
CREATE SEQUENCE add_name
increment by 1 -- 每次递增1
start with 0 -- 从1开始
nomaxvalue 90 -- 没有最大值
minvalue 0 -- 最小值=1
NOCYCLE; -- 不循环
insert into 表名 values(add_name执行进度,times);
-调用函数-
在建立表的时候设置id为自动增长的 [id] [int] IDENTITY (1, 1)
SQL语句是insert into user(name,passwd) values (name ,passwd)。新增一条数据 id 就会自动加1
INSERT INTO是sql数据库中的语句,可以用于向表格中插入新的行。
扩展资料
(1) 数据记录筛选:
sql="select from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)
sql="select from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"
sql="select top 10 from 数据表 where字段名=字段值 order by 字段名 [desc]"
sql="select top 10 from 数据表 order by 字段名 [desc]"
sql="select from 数据表 where字段名in ('值1','值2','值3')"
sql="select from 数据表 where字段名between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 ) values (值1,值2,值3 )"
sql="insert into 目标数据表 select from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=connexcute(sql)
用 rs("别名") 获取统计的值,其它函数运用同上。
查询去除重复值:select distinct from table1
(6) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) )
(7) 单列求和:
SELECT SUM(字段名) FROM 数据表
参考资料——百度百科SQL insert into
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
以上就是关于数据库设置主键的时候用,为什么设置自动增长全部的内容,包括:数据库设置主键的时候用,为什么设置自动增长、oracle数据库创建自动增长的表空间语句怎么写、SOL数据库题目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)