1. 写出创建如下三张数据表的sql语句
CREATETABLETEACHER
(
TIDCHAR(10)primarykey,
TNAMEVARCHAR(20),
TDEPTVARCHAR(30),
TJNAMECHAR(6)
)
insertintoTEACHERvalues('110','黄嘉欣','管理学系','教授')
insertintoTEACHERvalues('111','刘而已','计算机系','教师')
insertintoTEACHERvalues('112','王嘉骥','外语系','副教授')
CREATETABLECOURSE1
(
CNOCHAR(20)primarykey,
CNAMEVARCHAR(40),
CHOURtinyint,
TERMtinyint
)
insertintoCOURSE1values('011','酒店管理',35,1)
insertintoCOURSE1values('012','管理学基础',75,1)
insertintoCOURSE1values('021','JAVA基础',80,2)
insertintoCOURSE1values('022','安卓开发',70,2)
insertintoCOURSE1values('031','英语作文书写',40,1)
insertintoCOURSE1values('032','日语听力练习',70,1)
insertintoCOURSE1values('033','日语写作',70,1)
insertintoCOURSE1values('023','数据结构',20,1)
createtabletcourse
(
TIDCHAR(10),
CNOCHAR(20),
thourint,
tyearint--这个题有些矛盾,如果这里设为了主键,下面插入数据就没法插入重复的,c.3.就没有意义
)
_consFOREIGNKEY(TID)REFERENCESteacher;
_consFOREIGNKEY(CNO)REFERENCEScourse1;
insertintotcoursevalues('110','011',35,2014)
insertintotcoursevalues('110','012',75,2012)
insertintotcoursevalues('111','021',80,2015)
insertintotcoursevalues('111','022',70,2013)
insertintotcoursevalues('112','031',40,2014)
insertintotcoursevalues('112','032',70,2014)
--a.
SELECTTNAME,TDEPTFROMTEACHERWHERETJNAME='教授'
--b.
SELECTCOUNT(CNO)FROMCOURSE1WHERECHOUR>40
--C.
selectCNAME,CHOUR,TNAME,thourFROMCOURSE1C1,TEACHERTR,tcourseTE
WHEREC1.CNO=TE.CNOANDTR.TID=TE.TIDANDTE.tyear=2012
--D.
DELETECOURSE1WHERECNONOTIN(SELECTCNOFROMtcourse)
--3.
CREATEVIEWQL
as
SELECTTNAME,CNAME,thourFROMCOURSE1C1,TEACHERTR,tcourseTE
WHEREC1.CNO=TE.CNOANDTR.TID=TE.TIDANDTE.tyear=2014
SELECT*FROMQL
我用的数据库是SQL2008 R2,已测试。
2. 怎么用sql语句创建表
CREATE TABLE 语句用于创建数据库中的表。
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
数据类型
描述
integer(size)
int(size)
smallint(size)
tinyint(size)
- 仅容纳整数。在括号内规定数字的最大位数。
decimal(size,d)
numeric(size,d)
容纳带有小数的数字。
"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。
char(size)
容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。
在括号中规定字符串的长度。
varchar(size)
容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。
在括号中规定字符串的最大长度。
date(yyyymmdd) 容纳日期。
3. sql语句创建表
可执行一个SQL语句或使用SQL事务管理器(SQL Enterprise Manager)来创建一个新表。
用SQL语句创建表:
用CREATE语句创建表,CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,......)
用SQL事务管理器(SQL Enterprise Manager)来创建表:
打开软件SQL事务管理器(SQL Enterprise Manager),点击“连接”。
点击左上方的“新建查询”,则出现编写代码的窗口,在窗口中写下代码。
点击左上方的红色感叹号,执行语句。
执行语句。
选择上方的“视图”按钮,右键点击,选择刷新,数据库和表格建立完成。
4. 如何使用Sql语句创建表
所谓临时表,即我们临时创建来用一下的表,也就是说这个表只是临时创建来用一会儿的,再我们使用完之后就会进行删除的表。我们在对数据库操作的时候,会常常用到一些临时的数据,这时候使用临时表来存放这些东西最合适不过了。
我们可以使用create语句来创建一个临时表,具体语法如:create
global
trmprary
table
temp_emp(DSN
Number,DNAME
VARCHAR(20))
On
Commit
Rows;其中On
Commit
Rows表示关机之后就删除这个临时表,或许你会觉得这样不好,当然我们还有其他的方式,比如:如果你想在关闭表的时候就删除的话,我们可以写上这条语句:On
Commit
PRESERVE
Rows。
5. SQL语句创建表
CREATE TABLE 语句用于创建数据库中的表。
具体用法为:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
(5)创建表sql语句测试扩展阅读:
创建表数据类型:
integer(size) int(size) smallint(size) tinyint(size):仅容纳整数。
decimal(size,d) numeric(size,d):容纳带有小数的数字。
char(size):容纳固定长度的字符串
varchar(size):容纳可变长度的字符串
date(yyyymmdd):容纳日期。
参考资料:网络-SQL CREATE TABLE
6. 如何使用SQL语句创建表,要完整的语句。
自己打开企业管理器,随便找个表,导出一个创建表的脚本,就什么都有了。
要语法,SQL的联机帮助里就有:
CREATE
TABLE
[
database_name
.
[
schema_name
]
.
|
schema_name
.
]
table_name
(
{
|
}
[
]
[
,...n
]
)
[
ON
{
partition_scheme_name
(
partition_column_name
)
|
filegroup
|
"default"
}
]
[
{
TEXTIMAGE_ON
{
filegroup
|
"default"
}
]
[
;
]
::=
column_name
[
COLLATE
collation_name
]
[
NULL
|
NOT
NULL
]
[
[
CONSTRAINT
constraint_name
]
DEFAULT
constant_expression
]
|
[
IDENTITY
[
(
seed
,increment
)
]
[
NOT
FOR
REPLICATION
]
]
[
ROWGUIDCOL
]
[
[
...n
]
]
::=
[
type_schema_name
.
]
type_name
[
(
precision
[
,
scale
]
|
max
|
[
{
CONTENT
|
DOCUMENT
}
]
xml_schema_collection
)
]
::=
[
CONSTRAINT
constraint_name
]
{
{
PRIMARY
KEY
|
UNIQUE
}
[
CLUSTERED
|
NONCLUSTERED
]
[
WITH
FILLFACTOR
=
fillfactor
|
WITH
(
<
index_option
>
[
,
...n
]
)
]
[
ON
{
partition_scheme_name
(
partition_column_name
)
|
filegroup
|
"default"
}
]
|
[
FOREIGN
KEY
]
REFERENCES
[
schema_name
.
]
referenced_table_name
[
(
ref_column
)
]
[
ON
DELETE
{
NO
ACTION
|
CASCADE
|
SET
NULL
|
SET
DEFAULT
}
]
[
ON
UPDATE
{
NO
ACTION
|
CASCADE
|
SET
NULL
|
SET
DEFAULT
}
]
[
NOT
FOR
REPLICATION
]
|
CHECK
[
NOT
FOR
REPLICATION
]
(
logical_expression
)
}
::=
column_name
AS
computed_column_expression
[
PERSISTED
[
NOT
NULL
]
]
[
[
CONSTRAINT
constraint_name
]
{
PRIMARY
KEY
|
UNIQUE
}
[
CLUSTERED
|
NONCLUSTERED
]
[
WITH
FILLFACTOR
=
fillfactor
|
WITH
(
[
,
...n
]
)
]
|
[
FOREIGN
KEY
]
REFERENCES
referenced_table_name
[
(
ref_column
)
]
[
ON
DELETE
{
NO
ACTION
|
CASCADE
}
]
[
ON
UPDATE
{
NO
ACTION
}
]
[
NOT
FOR
REPLICATION
]
|
CHECK
[
NOT
FOR
REPLICATION
]
(
logical_expression
)
[
ON
{
partition_scheme_name
(
partition_column_name
)
|
filegroup
|
"default"
}
]
]
<
table_constraint
>
::=
[
CONSTRAINT
constraint_name
]
{
{
PRIMARY
KEY
|
UNIQUE
}
[
CLUSTERED
|
NONCLUSTERED
]
(column
[
ASC
|
DESC
]
[
,...n
]
)
[
WITH
FILLFACTOR
=
fillfactor
|WITH
(
[
,
...n
]
)
]
[
ON
{
partition_scheme_name
(partition_column_name)
|
filegroup
|
"default"
}
]
|
FOREIGN
KEY
(
column
[
,...n
]
)
REFERENCES
referenced_table_name
[
(
ref_column
[
,...n
]
)
]
[
ON
DELETE
{
NO
ACTION
|
CASCADE
|
SET
NULL
|
SET
DEFAULT
}
]
[
ON
UPDATE
{
NO
ACTION
|
CASCADE
|
SET
NULL
|
SET
DEFAULT
}
]
[
NOT
FOR
REPLICATION
]
|
CHECK
[
NOT
FOR
REPLICATION
]
(
logical_expression
)
}
::=
{
PAD_INDEX
=
{
ON
|
OFF
}
|
FILLFACTOR
=
fillfactor
|
IGNORE_DUP_KEY
=
{
ON
|
OFF
}
|
STATISTICS_NORECOMPUTE
=
{
ON
|
OFF
}
|
ALLOW_ROW_LOCKS
=
{
ON
|
OFF}
|
ALLOW_PAGE_LOCKS
={
ON
|
OFF}
}
7. sql语句创建表
创建新表的程序功能为:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具体为:
创建之前判断该数据库是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name=‘databasename_data’,-- 主数据文件的逻辑名称
filename=‘'所存位置:databasename_data.mdf’, -- 主数据文件的物理名称
size=数值mb, --主数据文件的初始大小
maxsize=数值mb, -- 主数据文件增长的最大值
filegrowth=数值%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='databasename_log', -- 日志文件的逻辑名称
filename='所存目录:databasename_log.ldf', -- 日志文件的物理名称
size=数值mb, --日志文件的初始大小
filegrowth=数值%--日志文件的增长值
)
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
sql 语句就是对数据库进行操作的一种语言。
(7)创建表sql语句测试扩展阅读
1、常见语句
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高级查询
A:UNION运算符
UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。
B: EXCEPT运算符
EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C:INTERSECT运算符
INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
8. 创建表之前判断表是否存在,如果存在则删除已有表的sql语句
1、创建删表函数,
create or replace procere drop_table(tbl_name varchar2)
as
v_cnt number;
begin
select count(*) into v_cnt from user_tables t where table_name = upper(tbl_name);
--如果存在则删除
if v_cnt >0 then
execute immediate 'drop table '||tbl_name||' purge';
dbms_output.put_line('删除表('||tbl_name||')成功');
else
dbms_output.put_line('表('||tbl_name||')未建');
end if;
end;
9. sql 创建数据库 创建表 脚本代码~只要代码
创建数据库的SQL语句:
create database stuDB
on primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='stuDB_data', -- 主数据文件的逻辑名称
filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
删除这个数据库,SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以
了,语句如下:
use master -- 设置当前数据库为master,以便访问sysdatabases表
go
if exists(select * from sysdatabases where name='stuDB')
drop database stuDB
go
创建表和删除表的SQL语句如下:
use StuDB
go
if exists(select * from sysobjects where name='stuMarks')
drop table stuMarks
create table stuMarks
(
ExamNo int identity(1,1) primary key,
stuNo char(6) not null,
writtenExam int not null,
LabExam int not null
)
go
-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列
alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名
alter table stuMarks
add constraint UQ_stuNo Unique(stuNo)
alter table stuMarks
drop constraint UQ_stuNo
/*--添加SQL登录账户--*/
exec sp_addlogin 'xie', '123456' -- 账户名为xie,密码为123456
--删除xie账户名
exec sp_droplogin 'xie'
/*--在stuDB数据库中添加两个用户(必须存在)--*/
use stuDB
go
exec sp_grantdbaccess 'xie','123456'
go
-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户
use stuDB
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go
10. 如何用SQL创建一个表格
1、打开SQL Server,在数据库处,右键数据库,点击新建数据库。