① 通过sql语句创建表
create table pro(
政务号 int primary key;
工号 int not null;
姓名 char(20) unique;
职称 char(10) default ‘高级’ not null;
教研室 varchar(16) not null;
foreign key(工号) references teainf(工号);
check(教研室 in('软件工程','物联网','数字媒体'));
② sql语句创建表,带描述
sql语句不能在添加表时添加描述。
不过可以创建表以后用系统存储过程添加描述。
SQL
code
EXEC
sp_addextendedproperty
N'MS_Description',N'字段描述',N'user',N'dbo',N'table',N'表名称',N'column',N'字段名称'
③ 怎么用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) 容纳日期。
④ sql server 2008 用sp_help 显示创建表的sql语句,说对象的文本不存在
直接引出脚本也可以的
右键->所有任务->生成SQL脚本
就是建表的sql语句
至于sp_help 'tb_user' 应该没有问题
但是sp_helptext 'tb_user'倒是会提示“没有对象 'tb_user'的文本。”
ps:我是2000,不是2008
⑤ 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
⑥ 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语句如下:
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
⑦ 如何在SQL Server上每天执行一个创建表的SQL语句
先写个存储过程:
declare @sql varchar(8000)
set @sql = 'create table sector'+ convert(varchar(10),getdate(),112)+
'(' + 'x int' + ')'
exec(@sql)
这个是建立job的语句,不过需要修改一下,调用上面的存储过程:
--1.新建作业 --> 作业步骤 --> 作业调度 --> 作业服务器
declare @jobname sysname,@db_name sysname
select @jobname = '动态创建表',
@db_name = db_name()
--1.1创建作业
exec msdb..sp_add_job
@job_name=@jobname
--1.2创建作业步骤
exec msdb..sp_add_jobstep
@job_name=@jobname,
@step_name = N'数据处理',
@subsystem = N'TSQL',
@database_name=@db_name,
@command = N'exec 你的存储过程名称;',
@retry_attempts = 1,
@retry_interval = 1
--1.3添加作业步骤,每天8点运行一次
EXEC msdb..sp_add_jobschele
@job_name=@jobname,
@name = N'动态创建表',
@freq_type=4 , --间隔为每天
@freq_interval=1,
@active_start_time=200000 --8点
--1.4添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
@job_name = @jobname ,
@server_name = '你的服务器名称' --@@servername 这个函数的返回值不一定准确
--1.5 开始作业
exec msdb.dbo.sp_start_job
@job_name =N'动态创建表';
⑧ 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 语句就是对数据库进行操作的一种语言。
(8)创建sp表的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),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
⑨ 写sp的sql语句
create procere proc_newaccount
@name varchar(10),
@pid varchar(20),
@telephone varchar(20),
@openmoney money,
@savingtype varchar(10),
@address varchar (50)='' --默认
as
declare @error int
set @error=0
declare @cardid varchar(19)
exec proc_rand @cardid output
set @error=@error+@@error
while exists (select * from cardinfo where cardid=@cardid)
exec proc_rand @cardid output
set @error=@error+@@error
insert into userinfo (customername,pid,telephone,address) values (@name,@pid,@telephone,@address)
set @error=@error+@@error
declare @customerid int
select @customerid=customerid from userinfo where customername=@name
set @error=@error+@@error
insert into cardinfo (cardid,savingtype,openmoney,balance,customerid) values (@cardid,@savingtype,@openmoney,@openmoney,@customerid)
set @error=@error+@@error
declare @opendate datetime
select @opendate=opendate from cardinfo where cardid=@cardid
set @error=@error+@@error
if @error=0
begin
print '开户成功! 您的卡号为:'+@cardid
print '开户日期:'+convert(varchar(25),@opendate)+' 开户金额:'+convert(varchar(20),@openmoney)
end
else
print '开户失败,请重新输入!'
go
你自己去理解一下,相信对你有帮助!!!
⑩ 如何用sqL语句创建表,要完整的语句
如果id不是标识自动加1,则语句如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ufdd]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ufdd]
GO
CREATE TABLE [dbo].[ufdd] (
[id] [int] NOT NULL ,
[citem] [varchar] (22) NULL ,
[citemc] [tinyint] NULL ,
[bitem] [bit] NOT NULL
) ON [PRIMARY]
GO
如果id是标识自动加1,则语句如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ufdd]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ufdd]
GO
CREATE TABLE [dbo].[ufdd] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[citem] [varchar] (22) NULL ,
[citemc] [tinyint] NULL ,
[bitem] [bit] NOT NULL
) ON [PRIMARY]
GO