文档库 最新最全的文档下载
当前位置:文档库 › sql建表问题

sql建表问题

sql建表问题
sql建表问题

用CREATE TABLE 命令创建表

用CREATE TABLE 命令创建表快捷、明了。其语法如下:

CREATE TABLE [database_name.[owner].| owner.] table_name

( { | column_name AS computed_column_expression |

} [,...n] )

[ON {filegroup | DEFAULT} ]

[TEXTIMAGE_ON {filegroup | DEFAULT} ]

::= { column_name data_type }

[ [ DEFAULT constant_expression ]

| [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ] ]

[ ROWGUIDCOL ]

[ COLLATE < collation_name > ]

[ ] [ ...n]

各参数说明如下:

?database_name

指定新建的表属于哪个数据库。如果不指定数据库名,就会将所创建的表存放在当前数据库中。

?owner

指定数据库所有者的用户名。

?table_name

指定新建的表的名称,最长不超过128 个字符。

对数据库来说,database_name.owner_name.object_name 应该是惟一的。

?column_name

指定新建的表的名称,最长不超过128 个字符。

对数据库来说,database_name.owner_name.object_name 应该是惟一的。

?computed_column_expression

指定计算列(Computed column)的列值的表达式。表达式可以是列名、常量、变量、函数等或它们的组合。所谓计算列是一个虚拟的列,它的值并不实际存储在表中,而是通过对同一个表中其它列进行某种计算而得到的结果。例如:员工信息表中存储了员工的雇佣日期,那么员工的工龄就可以通过表达式“雇佣日期当前日期”计算出来,则工龄列就可作为一个计算列。

?ON {filegroup | DEFAULT}

指定存储表的文件组名。如果使用了DEFAULT 选项或省略了ON 子句,则新建的表会存储在默认文件组中。

?TEXTIMAGE_ON

指定TEXT、NTEXT、和IMAGE 列的数据存储的文件组。如果无此子句,这些类型的数据就和表一起存储在相同的文件组中。

?data_type

指定列的数据类型

?DEFAULT

指定列的缺省值。当输入数据时,如果用户没有指定列值,系统就会用设定的缺省值作为列值。

如果该列没有指定缺省值但允许NULL 值,则NULL 值就会作为缺省值。其中缺省值可以为常数、NULL 值、SQL Server 内部函数(如GETDATE()函数)、NILADIC 函数等。

?constant_expression

列缺省值的常量表达式,可以为一个常量或系统函数或NULL。

?IDENTITY

指定列为IDENTITY 列。一个表中只能有一个IDENTITY 列。

?seed

指定IDENTITY 列的初始值。

?increment

指定IDENTITY 列的增量。

?NOT FOR REPLICATION

指定列的IDENTITY 属性在把从其它表中复制的数据插入到表中时不发生作用,即不足的生成列值,使得复制的数据行保持原来的列值。

?ROWGUIDCOL

指定列为全球惟一鉴别行号列(ROWGUIDCOL是Row Global Unique Identifier Column 的缩写)。

此列的数据类型必须为UNIQUEIDENTIFIER 类型。一个表中数据类型为UNIQUEIDENTIFIER 的列中只能有一个列被定义为ROWGUIDCOL 列。ROWGUIDCOL 属性不会使列值具有惟一性,也不会自动生成一个新的数值给插入的行。需要在INSERT 语句中使用NEWID()函数或指定列的缺省值为NEWID()函数。

?COLLATE指明表使用的校验方式。

?column_constraint 和table_constraint

指定列约束和表约束,我们将在下一节中介绍其具体定义。

其余参数将在后面的章节中逐步讲述。

注意:一个表至少有一列,但最多不超过1024个列。每个数据库中最多可以创建200万个表。表在存储时使用的计量单位是盘区(Extent)。一个盘区分为8个数据页,每页8KB字节。在创建新表时,会分配给它一个初始只为一个盘区的存储空间。当增加表的存储空间时,以盘区为单位增加。

SQLServer2000数据访问基类

using System;

using System.IO;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Collections;

namespace SQLServerBase

{

///

///内部类:存储过程的返回值记录类

///

public class SqlResult

{

public bool Succeed; //存储过程是否执行成功.

public Hashtable OutputValues; // 存储过程output值,放在(HashTable)表OutputValues里. public DataTable datatable; //存储过程返回的结果集,放在(DataTable)表datatable里. public DataSet dataSet; //存储过程返回的结果集,放在DataSet表中

public string errorMessage; //访问数据库失败

public int inflecntNum;

public SqlResult()

{

Succeed = false;

OutputValues = new Hashtable();

datatable=new DataTable();

dataSet=new DataSet();

errorMessage = "";

}

}

///

/// ====================***调用存储过程和SQL的基类***============================

/// abstract:该类不能被实例化,只能通过派生子类来使用它

///

public abstract class SpSQL_base : IDisposable

{

public SpSQL_base() : this("","")

{

}

//重载

public SpSQL_base(string sp_name,string sql_name)

{

this.ProcedureName = sp_name;

this.SQLName = sql_name;

}

//私有成员变量

private string sp_name;

private string sql_name;

private SqlConnection myConnection;

private SqlCommand myCommand;

private SqlParameter myParameter;//存储过程参数

//公共属性

public string ProcedureName//获取和设置存储过程名

{

get

{

return this.sp_name;

}

set

{

this.sp_name = value;

}

}

//公共属性

public string SQLName//获取和设置存储过程名

{

get

{

return this.sql_name;

}

set

{

this.sql_name = value;

}

}

///

/// 调用存储过程

///

/// 参数集合

///

public SqlResult Call_SP(params object[] parameters)

{

string strconn=ConfigurationSettings.AppSettings["ConnectionString"]; //存储过程的返回值记录类

SqlResult result = new SqlResult();

myConnection = new SqlConnection(strconn);

myCommand = new SqlCommand(this.ProcedureName, myConnection);

https://www.wendangku.net/doc/476195490.html,mandType = CommandType.StoredProcedure; SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand); myConnection.Open();

//将参数添加到存储过程的参数集合

GetProcedureParameter(result,parameters);

//开始事物

using(SqlTransaction trans = myConnection.BeginTransaction()) {

try

{

if(trans!=null)

{

myCommand.Transaction = trans;

}

//填充数据,将结果填充到SqlResult集中

myAdapter.Fill(result.dataSet);

if(result.dataSet.Tables.Count>0)

result.datatable=result.dataSet.Tables[0].Copy();

//将输出参数的值添加到Result的OutputValues

GetOutputValue(result);

//提交事物

https://www.wendangku.net/doc/476195490.html,mit();

}

catch(Exception e)

{

result.errorMessage = e.Message;

//事物回滚

trans.Rollback();

}

//如果捕捉了异常,但仍会执行包括在 finally 块中的输出语句finally

{

myAdapter.Dispose();

myCommand.Dispose();

myConnection.Close();

myConnection.Dispose();

}

}

return result;

}

///

/// 将参数添加到存储过程的参数集合

///

///

private void GetProcedureParameter(SqlResult result,params object[] parameters)

{

SqlCommand myCommand2 = new SqlCommand();

myCommand2.Connection = this.myConnection;

https://www.wendangku.net/doc/476195490.html,mandText = "select * from INFORMATION_SCHEMA.PARAMETERS where SPECIFIC_NAME='" +this.ProcedureName+ "' order by ORDINAL_POSITION";

SqlDataReader reader = null;

try

{

reader = myCommand2.ExecuteReader();

int i = 0;

while(reader.Read())

{

myParameter = new SqlParameter();

myParameter.ParameterName = reader["PARAMETER_NAME"].ToString();

myParameter.Direction =

reader["PARAMETER_MODE"].ToString()=="IN"?ParameterDirection.Input:ParameterDirection.Output;

switch(reader["DATA_TYPE"].ToString())

{

//bigint

case "bigint":

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToInt64(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.BigInt;

break;

//binary

//bit

case "bit" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToBoolean(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.Bit;

break;

//char

case "char" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (string)parameters[i];

myParameter.Size = Convert.ToInt32(reader["CHARACTER_MAXIMUM_LENGTH"]); myParameter.SqlD bT ype = SqlD bT ype.Char;

break;

//datetime

case "datetime" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToDateTime(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.DateTime;

break;

//decimal

case "decimal" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (decimal)parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.Decimal;

myParameter.Precision = (byte)reader["NUMERIC_PRECISION"]; myParameter.Scale = byte.Parse(reader["NUMERIC_SCALE"].ToString()); break;

//float

case "float" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (float)parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.Float;

break;

//image

case "image" :

if(myParameter.Direction == ParameterDirection.Input)

{

myParameter.Value=(byte[])parameters[i];

}

myParameter.SqlD bT ype = SqlD bT ype.Image;

break;

//int

case "int" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToInt32(parameters[i].ToString()); myParameter.SqlD bT ype = SqlD bT ype.Int;

break;

//money

case "money":

if(myParameter.Direction==ParameterDirection.Input)

myParameter.Value=Convert.ToDecimal(parameters[i]);

myParameter.SqlD bT ype=SqlD bT ype.Money;

break;

//nchar

case "nchar" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (string)parameters[i];

myParameter.Size = Convert.ToInt32(reader["CHARACTER_MAXIMUM_LENGTH"]); myParameter.SqlD bT ype = SqlD bT ype.NChar;

break;

//ntext

case "ntext" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (string)parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.NText;

break;

//numeric

case "numeric" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (decimal)parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.Decimal;

myParameter.Precision = (byte)reader["NUMERIC_PRECISION"];

myParameter.Scale = byte.Parse(reader["NUMERIC_SCALE"].ToString()); break;

//nvarchar

case "nvarchar" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToString(parameters[i]);

myParameter.Size = Convert.ToInt32(reader["CHARACTER_MAXIMUM_LENGTH"]); myParameter.SqlD bT ype = SqlD bT ype.NVarChar;

break;

//real

case "real":

if(myParameter.Direction==ParameterDirection.Input)

myParameter.Value=Convert.ToSingle(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.Real;

break;

//smalldatetime

case "smalldatetime" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToDateTime(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.DateTime;

break;

//smallint

case "smallint" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToInt16(parameters[i].ToString()); myParameter.SqlD bT ype = SqlD bT ype.SmallInt;

break;

//smallmoney

case "smallmoney":

if(myParameter.Direction==ParameterDirection.Input)

myParameter.Value=Convert.ToDecimal(parameters[i]);

myParameter.SqlD bT ype=SqlD bT ype.SmallMoney;

break;

//sql_variant

//text

case "text" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (string)parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.Text;

break;

//timestamp

//tinyint

case "tinyint":

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = Convert.ToByte(parameters[i]);

myParameter.SqlD bT ype = SqlD bT ype.TinyInt;

break;

//uniqueidentifier

//varbinary

case "varbinary":

if(myParameter.Direction==ParameterDirection.Input)

myParameter.Value=(byte[])parameters[i];

myParameter.SqlD bT ype = SqlD bT ype.VarBinary;

break;

//varchar

case "varchar" :

if(myParameter.Direction == ParameterDirection.Input)

myParameter.Value = (string)parameters[i];

myParameter.Size = Convert.ToInt32(reader["CHARACTER_MAXIMUM_LENGTH"]); myParameter.SqlD bT ype = SqlD bT ype.VarChar;

break;

default :

break;

}

i++;

myCommand.Parameters.Add(myParameter);

}

}

catch(Exception e)

{

result.errorMessage = e.Message;

}

finally

{

if(reader!=null)

{

reader.Close();

}

myCommand2.Dispose();

}

}

///

/// 将输出的值添加到Result的OutputValues

///

///

private void GetOutputValue(SqlResult result)

{

if(result.Succeed==false)

{

result.Succeed=true;

}

foreach(SqlParameter parameter in myCommand.Parameters)

{

if(parameter.Direction == ParameterDirection.Output)

{

//Hashtab表是一个键值对

result.OutputValues.Add(parameter.ParameterName, parameter.Value); }

}

}

public void Dispose()

{

Dispose(true);

GC.SuppressFinalize(true);

}

protected virtual void Dispose(bool disposing)

{

if (! disposing)

return;

if(myConnection != null)

{

myConnection.Dispose();

}

}

//=======end======

//=======begin====

///

/// 调用SQL的基类

///

/// 参数集合

///

public SqlResult Call_SQL()

{

string strconn=ConfigurationSettings.AppSettings["ConnectionString"]; //存储过程的返回值记录类

SqlResult result = new SqlResult();

myConnection = new SqlConnection(strconn);

myCommand = new SqlCommand(this.sql_name, myConnection); https://www.wendangku.net/doc/476195490.html,mandType = CommandType.Text;

SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand); myConnection.Open();

using(SqlTransaction trans = myConnection.BeginTransaction())

{

try

{

if(trans!=null)

{

myCommand.Transaction = trans;

}

//填充数据,将结果填充到SqlResult集中

myAdapter.Fill(result.datatable);

result.Succeed = true;

//提交事物

https://www.wendangku.net/doc/476195490.html,mit();

}

catch(Exception e)

{

result.Succeed = false;

result.errorMessage = e.Message;

}

//如果捕捉了异常,但仍会执行包括在 finally 块中的输出语句finally

{

myAdapter.Dispose();

myCommand.Dispose();

myConnection.Close();

myConnection.Dispose();

}

}

return result;

}

//=======end=========

}

}

继承此类后直接调用,如下:DB:Northwind

public class DATest : SpSQL_base

{

public DATest()

{}

public SqlResult SQLTest()

{

base.SQLName="select EmployeeID,LastName from dbo.Employees"; return base.Call_SQL();

}

public SqlResult SPTest()

{

base.ProcedureName="CustOrderHist";

return base.Call_SP("ALFKI");

}

}配置文件

显示查询结果:

private void DataShow_Load(object sender, System.EventArgs e)

{

DATest da=new DATest();

if(da.SPTest().Succeed && da.SQLTest().Succeed)

{

this.dataSP.DataSource=da.SPTest().datatable;

this.dataSQL.DataSource=da.SQLTest().datatable;

}

}

一个比较标准的sqlserver建表格式

一个比较标准的sqlserver 建表格式 CREATE TABLE [dbo].[admin]( [id] [int] IDENTITY(1,1) NOT NULL, [usersname] [nvarchar](50) NULL, [password] [nvarchar](50) NULL, [groud] [int] NULL CONSTRAINT [DF_admin_groud] DEFAULT ((0)), [data] [datetime] NULL CONSTRAINT[DF_admin_data] DEFAULT (getdate()), CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 解释: CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 这是在id 列上创建一个唯一聚集索引的语句。 primary key 表明创建的是主键约束,culstered 表示索引类型是聚集索引,IGNORE_DUP_KEY = OFF作用是在向表中插入数据的时候,如果遇到表中已经存在id 的值,insert 语句就会失败,并且回滚整个insert 语句。 ON [PRIMARY表示是索引创建在主文件组上。 [pk_ admin] 是主键的名称。 需要注意的是sqlserver2000 不支持WITH (IGNORE_DUP_KEY = OFF) 再看一个,和上面的有一点不一样: CREATE TABLE [dbo].[news]( [id] [int] IDENTITY(1,1) NOT NULL, [title] [nvarchar](100) NULL, [classid] int NULL, boardid int NULL, [contents] [ntext] NULL, [oSource] [nvarchar](50) NULL, [oAuthor] [nvarchar](50) NULL, [picurl] [nvarchar](100) NULL, [keytxt] [nvarchar](50) NULL, [data] [datetime] NULL CONSTRAINT [DF_news_data] DEFAULT (getdate()), [hklick] [int] NULL CONSTRAINT [DF_news_hklick] DEFAULT ((0)), [pinglun] [int] NULL CONSTRAINT [DF_news_pinglun] DEFAULT ((0)), CONSTRAINT [PK_co ntent] PRIMARY KEY CLUSTERED

SQL Server数据库及表的建立 实验要求和截图记录

实验一 SQL Server数据库及表的建立 1. 按下面要求创建一个名为companyinfo的数据库: 主要数据文件:逻辑文件名为companyinfo_data1,实际文件名为companyinfo_data1.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 次要数据文件:逻辑文件名为companyinfo_data2,实际文件名为companyinfo_data2.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 事务日志文件:逻辑文件名为companyinfo_log,实际文件名为companyinfo_log.ldf;初始容量为1MB,最大容量为10MB,递增量为1MB。 2. 在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表(以类别ID为主键) 产品信息表(以产品ID为主键,类别ID是与类别表的类别ID相联系的外键) 雇员表(以雇员ID为主键,且薪水不得低于1000元) 客户表(以客户ID为主键)

订单表(以订单ID为主键,产品ID,雇员ID,客户ID均为外键,分别与产品信息表、雇员表和客户表的主键相联系) 3.利用企业管理器和T-SQL语句分别实现上面的操作。 实验操作过程截图记录如下: 实验一 SQL Server数据库及表的建立 1,按要求创建一个名为companyinfo的数据库: 利用企业管理器创建:

2,在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表 产品信息表

SQL Server 2008数据库—创建、建表、查询语句

SQL Server 2008数据库—创建、建表、查询语句 一、创建数据库 1、利用对象资源管理器创建用户数据库: (1)选择“开始”—“程序”—Microsoft SQL Server 2008—SQL Server Management Studio命令,打开SQL Server Management Studio。 (2)使用“Windows身份验证”连接到SQL Server 2008数据库实例。 (3)展开SQL Server 实例,右击“数据库”,然后人弹出的快捷菜单中选择“新建数据库存”命令,打开“新建数据库”对话框。 (4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使用全文索引、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。输入数据库名称student。 2、利用T-SQL语句创建用户数据库: 在SQL Server Management Studio中,单击标准工具栏的“新建查询”按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击“执行”按钮。SQL编辑器就

提交用户输入的T-SQL语句,然后发送到服务器执行,并返回执行结果。 创建数据库student的T-SQL语句如下: Create data base student On primary ( name=student_data, filename='E:\SQL Server2008 SQLFULL_CHS\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ student_data.mdf', size=3, maxsize=unlimited, filegrowth=1 ) Log on (name=student_log, filename='E:\SQL Server2008 SQLFULL_CHS\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ student_log.ldf', size=1,

sql数据库建表

1.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下: 书号:统一字符编码定长类型,长度为6,主键; 书名:统一字符编码可变长类型,长度为30,非空; 第一作者:普通编码定长字符类型,长度为10,非空; 出版日期:小日期时间型; 价格:定点小数,小数部分1位,整数部分3位。 (2)“书店表”结构如下: 书店编号:统一字符编码定长类型,长度为6,主键; 店名:统一字符编码可变长类型,长度为30,非空; 电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字; 地址:普通编码可变长字符类型,40位长。 邮政编码:普通编码定长字符类型,6位长。 (3)“图书销售表”结构如下: 书号:统一字符编码定长类型,长度为6,非空; 书店编号:统一字符编码定长类型,长度为6,非空; 销售日期:小日期时间型,非空; 销售数量:小整型,大于等于1。 主键为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外键; “书店编号”为引用“书店表”的“书店编号”的外键。 答:

CREATE TABLE 图书表( 书号nchar(6) primary key, 书名nvarchar(30) not null, 第一作者char(10) not null, 出版日期smalldatetime, 价格numeric(4,1)) CREATE TABLE 书店表( 书店编号nchar(6) primary key, 店名nvarchar(30) not null, 电话char(8) check (电话like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), 地址varchar(40), 邮政编码char(6)) CREATE TABLE 图书销售表( 书号nchar(6) not null, 书店编号nchar(6) not null, 销售日期smalldatetime not null, 销售数量smallint check(销售数量>=1), primary key(书号,书店编号,销售日期), foreign key(书号) references 图书表(书号), foreign key(书店编号) references 书店表(书店编号))

sqlserver实验报告—数据库和表的创建

评分 签名 日期 数据库实验报告 课程名称信息系统数据库技术 实验名称数据表的管理 专业班级 姓名 学号 实验日期 实验地点 2012—2013学年度第一学期

一、实验目的 1、掌握Microsoft SQL Server 2005 Express Edition的安装过程 2、熟悉SQL Server 2005 Express Edition的基本菜单功能,界面。 3、掌握SQL Server 2005的启动、服务器注册等功能。 二、实验内容 1、数据库的创建 2、数据库的修改 3、数据的导入 4、数据的导出 5、数据库的分离 三、实验环境 Windows XP操作系统,Microsoft SQL Server 2005 Express Edition。 四、相关知识 1、数据库命令规则取决于数据库兼容的级别,而数据库级别可以用存储过程sp_helpdb 来查询。注意:其一由于在T-SQL中,“@”表示局部变量,“@@”表示全局变量,“##”表示全局临时对象,所以不建议用这些符号作为数据库名称的开头;其二虽然在SQL Server 2005中,保留字区分大小写,但也不建议用改过大小写的保留字作为数据库名。 2、数据库文件:每个SQL Server 2005的数据库至少包含二个文件:一个数据文件(.mdf)和一个日志文件(.ldf)。 3、数据库的创建命令:CREATE DATABASE 4、数据库的修改命令:ALTER DATABASE 只有数据库管到员或具有CREATE DATABASE权限的数据库所有者才有权执行ATER DATABASE语句。在实际操作中,ALTER DATABASE一次只能修改一种参数 5、数据库的删除命令:DROP DATABASE 6、数据库的分离命令:SP_DETACH_DB 'filename' 7、数据库的附加命令:CREATE DATABASE…FOR ATTACH 8、数据的导入是指从其他数据源中把数据复制到SQL Server数据库中。 9、数据的导出是指从SQL Server数据库中把数据复制到其他数据源中。 2

数据库建表操作SQL代码大全

?首页 ?发现小组 ?发现小站 ?线上活动 joshua的日记 ?joshua的主页 ?广播 ?相册 ?喜欢 ?二手 ?活动 ?发豆邮 数据库建表操作SQL代码大全 2009-04-23 17:39:37 决定在这里建立自己的学习数据库的日记,以便随时学习,随时回顾。 从今天开始。 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默认值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) default 0, [字段7] image null , ) 删除表: Drop table [表名]

INSERT INTO [表名] (字段1,字段2) VALUES (100,'https://www.wendangku.net/doc/476195490.html,') 删除数据: DELETE FROM [表名] WHERE [字段名]>100 更新数据: UPDATE [表名] SET [字段1] = 200,[字段2] = 'https://www.wendangku.net/doc/476195490.html,' WHERE [字段三] = 'HAIWA' 新增字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL 删除字段: ALTER TABLE [表名] DROP COLUMN [字段名] 修改字段: ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL 重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表) sp_rename '表名', '新表名', 'OBJECT' 新建约束: ALTER TABLE [表名] ADD CONSTRAINT 约束名CHECK ([约束字段] <= '2000-1-1') 删除约束: ALTER TABLE [表名] DROP CONSTRAINT 约束名 新建默认值 ALTER TABLE [表名] ADD CONSTRAINT 默认值名DEFAULT 'https://www.wendangku.net/doc/476195490.html,' FOR [字段名] 删除默认值 ALTER TABLE [表名] DROP CONSTRAINT 默认值名 删除Sql Server 中的日志,减小数据库文件大小 dump transaction 数据库名with no_log backup log 数据库名with no_log dbcc shrinkdatabase(数据库名) exec sp_dboption '数据库名', 'autoshrink', 'true' \'添加字段通用函数 Sub AddColumn(TableName,ColumnName,ColumnType) Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"") End Sub

SQL数据库与表的创建

1.创建数据库 --创建数据库 create database db_NetStore --网上书城 on primary (name='db_NetStore', filename='f:\data\db_NetStore.mdf', size=10MB, maxsize=50MB ) log on (name='db_NetStore_log', filename='f:\data\db_NetStore.ldf, size=5MB, maxsize=25MB ) 2.创建表 ①create table Member --会员信息表 ( MemberID int not null primary key,--会员ID UserName varchar(50)not null,--会员登录名Password varchar(50)not null,--会员登录密码RealName varchar(50)not null,--会员真实姓名Sex bit not null,--会员性别 Phonecode varchar(20)not null,--会员电话号码Email varchar(50)not null,--会员E-mail地址Address varchar(200)not null,--会员详细地址PostCode char(10)not null,--邮编 LoadDate datetime not null,--创建时间 ) ②create table Admin --管理员信息表 ( AdminID int not null primary key,--管理员ID AdminName varchar(50)not null,--管理员登录名Password varchar(50)not null,--管理员登录密码RealName varchar(50)not null,--管理员真实姓名Email varchar(50)not null,--管理员E-mail地址LoadDate datetime not null,--创建时间 )

SQL_Server2005 两种方法创建数据库和表

使用SQL Server2005创建数据库和表 使用SQL Server2005数据库管理系统创建数据库和表 在本练习中,将使用SQL Server2005数据库管理系统创建Student数据库,并在Student 数据库中创建表Student,使你能够掌握使用SQL Server2005数据库管理系统创建数据库和表的方法。 1)启动SQL Server2005: 依次单击开始->所有程序->SQL Server 2005->SQL Server Management Studio Express启动SQL Server 2005数据库管理系统 2)登录数据库服务器: 点击“连接到服务器“对话框中的连接按钮连接到SQL Server 2005数据库服务器。 3)创建数据库Student 在SQL Server 2005数据库管理系统的左边栏“对象资源管理器”中右击数据库对 象,在弹出的快捷菜单中单击“新建数据库”命令。

在弹出的“新建数据库”对话框右侧的数据库名称中输入数据库名称“Student”,然后单击确定。 4)在Student数据库中新建表”Student”

单击SQL Server 2005数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”按钮,以显示出新建的数据库“Student”。 依次展开左侧栏对象资源管理器中的“数据库”->“Student”,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。 在右侧在工作区中输入“Student”表的信息,该表具有如下列:

单击文件菜单中的保存命令保存该表,并取名为“Student”。

sql数据库及数据库中表的建立

sql数据库及数据库中表的建立 一.实验目的 1.熟悉SQL Server2000的环境。 2.掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQL Server2000进行配置的方法。 3.掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方 法。 4.了解SQL Server 2000数据库的逻辑结构和物理结构。 5.学会在企业管理器中创建数据库及查看数据库属性。 6.学会使用T-SQL语气创建数据库。 7.了解SQL Server 2000的基本数据类型、空值的概念,以及表的结构特点。 8.学会使用T-SQL语气和企业管理器创建表结构和修改表结构。 9.学会使用SQL Server 2000提供的数据完整性功能,并在创建表时定义表的 数据完整性。通过实验进一步理解数据完整性的概念及分类。 二.实验内容 1.学会使用企业管理器和查询分析器管理工具。 2.使用企业管理器创建数据库。 3.在查询分析器中使用T-SQL语句创建数据库。 4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。 5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。 6.查看物理磁盘目录,理解并分析SQL Server 2000数据库的存储结构。 7.使用企业管理器查看数据库属性。 8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。 9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。 10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。 11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ. 12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。三.实验环境 MS SQL Server 2000 四.实验前准备 五.实验步骤 1.打开软件,熟悉 SQL Server 2000的环境 2.使用企业管理器创建数据库。

数据库及数据库中表的建立实验报告

实验题目:数据库及数据库中表的建立 学院:计算机班级:网络0803 学号: 姓名:任课教师:孟彩霞时间: 一.实验目的 1.熟悉SQL Server2000的环境。 2.掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQL Server2000进行配置的方法。 3.掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方 法。 4.了解SQL Server 2000数据库的逻辑结构和物理结构。 5.学会在企业管理器中创建数据库及查看数据库属性。 6.学会使用T-SQL语气创建数据库。 7.了解SQL Server 2000的基本数据类型、空值的概念,以及表的结构特点。 8.学会使用T-SQL语气和企业管理器创建表结构和修改表结构。 9.学会使用SQL Server 2000提供的数据完整性功能,并在创建表时定义表的 数据完整性。通过实验进一步理解数据完整性的概念及分类。 二.实验内容 1.学会使用企业管理器和查询分析器管理工具。 2.使用企业管理器创建数据库。 3.在查询分析器中使用T-SQL语句创建数据库。 4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。 5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。 6.查看物理磁盘目录,理解并分析SQL Server 2000数据库的存储结构。 7.使用企业管理器查看数据库属性。 8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。 9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。 10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。 11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ. 12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。三.实验环境 MS SQL Server 2000 四.实验前准备 五.实验步骤

SQL Server数据库--表的创建和操作

第3章 表的创建和操作 ——数据类型和表结构

数据类型和表结构 表是数据库中最基本的数据对象,用于存放数据库中的数据。在创建数据库之后,就需要建立数据库表。例如,在学生成绩管理系统中,我们最起码需要学生表、课程表和成绩表。表3.1就是一个“学生”表。 学号姓名性别出生时间专业总学分备注 191301王林男1990-2-10计算机50 191302程明男1991-2-1计算机50 191303王燕女1989-10-6计算机50 191304韦严平男1990-8-26计算机50 191306李方方男1990-11-20计算机50 191307李明男1990-5-1计算机54提前修完《数据结构》 191308林一帆男1989-8-5计算机52班长 ……

01 数据类型1.整数型 2.精确数值型 3.浮点型 4.货币型 5.位型 6.字符型 7.unicode字符型 8.文本型 9.二进制型 10.日期时间类型 11.时间戳型 12.图像数据类型 13.其他数据类型

1.整数型 整数型包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。 bigint:大整数,数范围为?263~263?1,其精 (1) 度为19,小数位数为0,长度为8字节。 (2) int:整数,数范围为?231~231?1,其精度为 10,小数位数为0,长度为4字节。 smallint:短整数,数范围为?215~215?1,其 (3) 精度为5,小数位数为0,长度为2字节。 tinyint:微短整数,数范围为0~255,长度为1 (4) 字节,其精度为3,小数位数为0,长度为1字节。

创建数据库和表的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 表名

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令 SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法:

1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。 解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。

四、查看数据库版本的命令:select @@version 在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa'

sql数据库表的创建和使用命令

1.创建学生表student create table student ( sno char (9) primary key , sname char (20) not null , ssex char (2) null , sage smallint null , sdept char (20) null ) 2.创建课程表course create table course ( cno char (4) primary key not null , cname char (40) null , cpno char (4) null , ccredit smallint null , foreign key (cpno) references course (cno) ) 3.创建学生选课表 create table sc ( sno char (9) not null , cno char (4) not null , grade smallint null , primary key (sno,cno) , foreign key (cno) references course (cno), foreign key (sno) references student (sno) )

4.查询所有姓王的学生的姓名、学号和性别 5.查询所有姓张且全名为三个字的学生

6.查询缺少成绩的学生的学号、课号

7.查询平均成绩大于等于90的学生的学号和和平均成绩 8.查询选修2号课程且成绩在90分以上的所有学生的学号和姓名

9.找出每个学生超过他自己选修课程和平均成绩的课程号

相关文档
相关文档 最新文档