create table employy(
EmpNO varchar(16) primary key,
EmpName varchar(50) ,
EmpAge int,
EmpDept varchar(20)
)
create table Salary(
SalaryNo varchar(16) primary key,
Salary float
)
create table work(
EmpNO varchar(16) references employy(EmpNO),
SalaryNo varchar(16) references Salary(SalaryNo),
work float
)
create database trying_sql
on primary
(
name='trying_sql_data',
filename='E:\rubbish\sql\trying_sqlmdf',
size= 5MB,
maxsize= 100mb,
filegrowth= 15%
)
log on
(
name='trying_sql_log',
filename='E:\rubbish\sql\trying_logldf',
size= 2MB,
filegrowth= 1mb
)
Go
准备在该数据库下新建一张表格:
use trying_sql
go
create table trying_sqlStudentManage( --注意trying_sql后面是两个点
年级 char,
班级 char,
专业 ntext,
姓名 varchar,
学号 char,
入学时间 varchar,
家庭住址 ntext,
**** char
)
Go
create database student charset=utf8;
use student;
create table S(
s_id int primary key,
name varchar(20),
sex char(2),
brith datetime,
department varchar(20)
);
create table C(
c_id int primary key,
course varchar(20),
class_hour int
);
create table SC(
s_id int,
c_id int,
score int
);
SC表是中间表,多对多的关系,一个学生可以选修多门课程,一个课程可以被多个学生选修
建立外键,但是真实的系统当中可以不建立外键,只建立主键,只在查表当中关联查询键
alter table SC constraint FK_sID foreign key(s_id) references S(s_id); 中间表外键引用主表的主键
alter table SC constraint FK_cID foreign key(c_id) references C(c_id);
表关联查询 某某同学,某某课程,分数是多少
select Sname , Ccourse , SCscore
from S , C , SC
where Ss_id=SCs_id and Cc_id=SCc_id;
建两个表,一个学生信息表,存学生的基本信息和班级情况,重点是班级情况。
另一个学生课程表,把所有的学生的课表都可以放在这里。通过班级编号加以区别。
重点就是班级编号。
通过班级编号进行两个表的联合查询。
用ORACLE自带的建库工具DATABASE CONFIGURATION ASSISTANT创建数据库
可以通过SQLPLUS *** 作数据库,在客户端的话,先用NET8 EASY CONFIG创建一个连接字符串连接到数据库
要创建表空间,创建用户,创建表及其他项
------------------------------------------------------
详细例子:
手工创建数据库的全部脚本及说明
· 系统环境:
1、 *** 作系统:Windows 2000 Server,机器内存128M
2、数据库: Oracle 8i R2 (816) for NT 企业版
3、安装路径:D:\ORACLE
· 建库步骤:
· 1、手工创建相关目录
D:\Oracle\admin\test
D:\Oracle\admin\test\adhoc
D:\Oracle\admin\test\bdump
D:\Oracle\admin\test\cdump
D:\Oracle\admin\test\create
D:\Oracle\admin\test\exp
D:\Oracle\admin\test\pfile
D:\Oracle\admin\test\udump
D:\Oracle\oradata\test
D:\Oracle\oradata\test\archive
· 2、手工创建初始化启动参数文件:D:\Oracle\admin\test\pfile\inittestora,内容:
· 3、手工创建D:\Oracle\Ora81\DATABASE\inittestora文件, 内容:IFILE= 'D:\Oracle\admin\test\pfile\inittestora '
· 4、使用orapwdexe命令,创建D:\Oracle\Ora81\DATABASE\PWDtestora
命令:D:\Oracle\Ora81\bin\orapwd file=D:\Oracle\Ora81\DATABASE\PWDtestora password=ORACLE entries=5
· 5、通过oradimexe命令,在服务里生成一个新的实例管理服务,启动方式为手工
set ORACLE_SID=test
D:\Oracle\Ora81\bin\oradim -new -sid test -startmode manual -pfile "D:\Oracle\admin\test\pfile\inittestora "
· 6、生成各种数据库对象
D:\> svrmgrl
--创建数据库
connect INTERNAL/oracle
startup nomount pfile= "D:\Oracle\admin\test\pfile\inittestora "
CREATE DATABASE test
LOGFILE 'D:\Oracle\oradata\test\redo01log ' SIZE 2048K,
'D:\Oracle\oradata\test\redo02log ' SIZE 2048K,
'D:\Oracle\oradata\test\redo03log ' SIZE 2048K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:\Oracle\oradata\test\system01dbf ' SIZE 58M REUSE AUTOEXTEND ON NEXT 640K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET ZHS16GBK;
控制文件、日志文件在上面语句执行时生成
connect INTERNAL/oracle
--修改系统表空间
ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);
ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;
--创建回滚表空间
CREATE TABLESPACE RBS DATAFILE 'D:\Oracle\oradata\test\rbs01dbf ' SIZE 256M REUSE AUTOEXTEND ON NEXT 5120K
MINIMUM EXTENT 512K
DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 8 MAXEXTENTS 4096);
--创建用户表空间
CREATE TABLESPACE USERS DATAFILE 'D:\Oracle\oradata\test\users01dbf ' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--创建临时表空间
CREATE TABLESPACE TEMP DATAFILE 'D:\Oracle\oradata\test\temp01dbf ' SIZE 32M REUSE
AUTOEXTEND ON NEXT 640K
MINIMUM EXTENT 64K
DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0) TEMPORARY;
--创建工具表空间
CREATE TABLESPACE TOOLS DATAFILE 'D:\Oracle\oradata\test\tools01dbf ' SIZE 64M REUSE
AUTOEXTEND ON NEXT 320K
MINIMUM EXTENT 32K
DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--创建索引表空间
CREATE TABLESPACE INDX DATAFILE 'D:\Oracle\oradata\test\indx01dbf ' SIZE 32M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--创建回滚段
CREATE PUBLIC ROLLBACK SEGMENT RBS0 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS1 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS2 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS3 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS4 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS5 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS6 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS7 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS8 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS9 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS10 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS11 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS12 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS13 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS14 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS15 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS16 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS17 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS18 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS19 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS20 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS21 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS22 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS23 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS24 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
--使回滚段在线
ALTER ROLLBACK SEGMENT "RBS0 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS1 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS2 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS3 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS4 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS5 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS6 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS7 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS8 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS9 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS10 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS11 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS12 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS13 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS14 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS15 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS16 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS17 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS18 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS19 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS20 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS21 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS22 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS23 " ONLINE;
ALTER ROLLBACK SEGMENT "RBS24 " ONLINE;
--修改sys用户的临时表空间为TEMP
alter user sys temporary tablespace TEMP;
--创建数据字典表
@D:\Oracle\Ora81\Rdbms\admin\catalogsql;
@D:\Oracle\Ora81\Rdbms\admin\catexp7sql
@D:\Oracle\Ora81\Rdbms\admin\catprocsql
@D:\Oracle\Ora81\Rdbms\admin\cathssql
connect system/manager
@D:\Oracle\Ora81\sqlplus\admin\pupbldsql
connect internal/oracle
@D:\Oracle\Ora81\Rdbms\admin\catrepsql
exit
--生成SQLPlus帮助系统
sqlplus SYSTEM/manager
@D:\Oracle\Ora81\sqlplus\admin\help\helpbldsql helpussql
exit
--修改system用户默认表空间和临时表空间
svrmgrl
connect internal/oracle
alter user system default tablespace TOOLS;
alter user system temporary tablespace TEMP;
exit
7、将test实例启动服务设置成自动启动方式
D:\Oracle\Ora81\bin\oradim -edit -sid test -startmode auto
您好,提问者:
这里我写代码吧!
createdatabase数据库名;--创建数据库
use创建的数据库名;--使用数据库名
createtable表名
(
idint;--建立id字段,为int类型
namevarchar(20);--建立name字段,为字符串类型,并指定长度为20
);
insertinto表名values(1,'小明');--插入数据库
创建数据库和表的 *** 作有两种方法:
一、可视化 *** 作
1创建数据库
选中数据库右击,在出现的对话框中选择新建数据库,然后新出现的对话框中填写数据库的名称
2创建数据表
选中数据库下的表右击,在出现的对话框最上方有新建表选项,新出现的对话框中有列名、数据类型、允许Null值三列,这里可以添加表的的列,添加好列后保存Ctrl+S或者点击上方的保存,填写表名称确定就创建好了。
二、使用SQL语句创建
1创建数据库create database stuDB --stuDB是数据库的名称on primary -- 默认就属于primary文件组,可省略(/--数据文件的具体描述--/ name='stuDB_data', -- 主数据文件的逻辑名称 filename='D:\stuDB_datamdf', -- 主数据文件的物理路径和名称 size=5mb, --主数据文件的初始大小 maxsize=100mb, -- 主数据文件增长的最大值 filegrowth=15%--主数据文件的增长率)log on(/--日志文件的具体描述,各参数含义同上--/ name='stuDB_log', filename='D:\stuDB_logldf', size=2mb, filegrowth=1mb)-----2创建数据表use StuDB --使用某个数据库(在某个数据库下建表)go if exists(select from sysobjects where name='stuMarks')--查询数据库是否已存在此表drop table stuMarks--如果存在该表则删除,不存在不执行此句create table stuMarks --stuMarks是表的名称( ExamNo int identity(1,1) primary key,--列名 数据类型 约束 stuNo char(6) not null,--列名 数据类型 是否允许插入Null值 writtenExam int not null, LabExam int not null)go -- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列alter table 表名add constraint 约束名 约束类型 具体的约束说明alter table 表名drop constraint 约束名
以上就是关于创建数据库表全部的内容,包括:创建数据库表、sql server如何在指定数据库中新建表格刚开始自学数据库,还不太懂,麻烦各位大师帮忙看看下面问题,谢谢、SQL数据库怎么样用命令建库及表,还有怎么样建立表之间的联系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)