当前位置:首页 » 编程语言 » 创建sql

创建sql

发布时间: 2022-01-11 22:22:28

⑴ 什么是sql如何创建

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

SQL同时也是数据库文件格式的扩展名。

SQL语言包含4个部分:

数据查询语言(SELECT语句)

数据操纵语言(INSERT, UPDATE, DELETE语句)

数据定义语言(如CREATE, DROP等语句)

数据控制语言(如COMMIT, ROLLBACK等语句)

取自"http://zh.wikipedia.org/wiki/SQL"
SQL(STructured Query Language)是一种资料库查询和程式设计语言,用于存取资料以及查询、更新和管理关联式资料库系统。美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了 SQL 标准。ANSI 是一个美国工业和商业集团组织,发展美国的商务和通讯标准。ANSI 同时也是 ISO 和 International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO 和 IEC 发布了 SQL 的国际标准,称为 SQL-92。ANSI 随之发布的相应标准是 ANSI SQL-92。ANSI SQL-92 有时被称为 ANSI SQL。尽管不同的关联式资料库使用的 SQL 版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server 使用 ANSI SQL-92 的扩展集,称为 T-SQL,其遵循 ANSI 制定的 SQL-92 标准。

SQL 语言包括两种主要程式设计语言类别的陈述式: 资料定义语言 (DDL)与资料操作语言 (DML)。下面我们将介绍这两类语言。

DDL

DDL 用于定义和管理物件,例如资料库、资料表以及检视表( 第18章 将会解释何谓检视表)。DDL 陈述式通常包括每个物件的CREATE、ALTER 以及 DROP 命令。举例来说,CREATE TABLE、ALTER TABLE 以及 DROP TABLE 这些陈述式便可以用来建立新资料表、修改其属性(如新增或删除资料行)、删除资料表等,下面我们会一一介绍。

CREATE TABLE 陈述式

使用 DDL 在 MyDB 资料库建立一个名为 Customer_Data 的范例资料表,本章后面的例子我们会使用到这个资料表。如前所述,CREATE TABLE 陈述式可以用来建立资料表。这个范例资料表被定义成四个资料行,如下所示:

Use MyDB
CREATE TABLE Customer_Data
(customer_id smallint,
first_name char(20),
last_name char(20),
phone char(10))
GO
这个陈述式能产生 Customer_Data 资料表,这个资料表会一直是空的直到资料被填入资料表内。

ALTER TABLE 陈述式

ALTER TABLE 陈述式用来变更资料表的定义与属性。在下面的例子中,我们利用 ALTER TABLE 在已经存在的 Customer_Data 资料表中新增 middle_initial 资料行。

ALTER TABLE Customer_Data
ADD middle_initial char(1)
GO
现在资料表的定义包括了五个资料行,而不是之前的四个资料行。关于使用ALTER TABLE 的更多细节,请参阅 第15章 。

DROP TABLE 陈述式

DROP TABLE 陈述式用来删除资料表定义以及所有的资料、索引、触发程序、条件约束以及资料表的权限。要删除我们的 Customer_Data 资料表,可利用下列命令:

DROP TABLE Customer_Data
GO
关于 DROP TABLE 陈述式的详细内容,请参阅 第15章 。

DML

DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等陈述式来操作资料库物件所包含的资料。

INSERT 陈述式

INSERT 陈述式用来在资料表或检视表中插入一列资料。例如,如果要在Customer_Data 资料表中新增一个客户,可使用类似以下的 INSERT 陈述式:

INSERT INTO Customer_Data
(customer_id, first_name, last_name, phone)
VALUES (777, "Frankie", "Stein", "4895873900")
请注意 SQL 陈述式中第二行的资料行名称清单,清单上资料行名称的次序决定了资料数值将被放在哪个资料行。举例来说,第一个资料数值将被放在清单列出的第一个资料行 customer_id、第二个资料数值放在第二个资料行,依此类推。由于我们在建立资料表时,定义资料资料行填入数值的次序与现在相同,因此我们不必特意指定栏位名称。我们可以用以下的 INSERT 陈述式代替:

INSERT INTO Customer_Data
VALUES (777, "Frankie", "Stein", "4895873900")

注意

如果使用这种形式的 INSERT 陈述式,但被插入的数值次序上与建立资料表时不同,数值将被放入错误的资料行。如果资料的型别与定义不符,则会收到一个错误讯息。

--------------------------------------------------------------------------------

SELECT 陈述式

SELECT 陈述式用来检索资料表中的资料,而哪些资料被检索由列出的资料行与陈述式中的 WHERE 子句决定。例如,要从之前建立的 Customer_Data 资料表中检索 customer_id 以及 first_name 资料行的资料,并且只想取出每列中 first_name 资料行值为 Frankie 的资料,那么可以利用以下的 SELECT 陈述式:

SELECT customer_id, first_name FROM Customer_Data
WHERE first_name = "Frankie"
如果有一列符合 SELECT 陈述式中的标准,则结果将显示如下:

customer_id first_name
------------- ------------
777 Frankie
UPDATE 陈述式

UPDATE 陈述式用来更新或改变一列或多列中的值。例如,一位名称为 Frankie Stein 的客户想要在记录中改变他的姓氏为 Franklin,可使用以下 UPDATE 陈述式:

UPDATE Customer_Data
SET first_name = "Franklin"
WHERE last_name = "Stein" and customer_id= 777
我们在 WHERE 子句中加入 customer_id 的项目来确定其他名称为 Stein 的客户不会被影响-只有customer_id为777的客户,姓氏会有所改变。

--------------------------------------------------------------------------------

说明

当您使用 UPDATE 陈述式时,要确定在 WHERE 子句提供充分的筛选条件,如此才不会不经意地改变了一些不该改变的资料。

--------------------------------------------------------------------------------

DELETE 陈述式

DELETE 陈述式用来删除资料表中一列或多列的资料,您也可以删除资料表中的所有资料列。要从 Customer_Data 资料表中删除所有的列,您可以利用下列陈述式:

DELETE FROM Customer_Data

DELETE Customer_Data
资料表名称前的 FROM 关键字在 DELETE 陈述式中是选择性的。除此之外,这两个陈述式完全相同。

要从 Customer_Data 资料表中删除 customer_id 资料行的值小于100的列,可利用下列陈述式:

DELETE FROM Customer_Data
WHERE customer_id < 100
现在我们已经快速浏览了 SQL 提供的 DDL 与 DML 陈述式,接着,下面将介绍 T-SQL。

SQL中的五种数据类型

简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

字符型

VARCHAR VS CHAR

VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。

假如你向一个长度为四十个字符的VARCHAR型字段中输入数据BIll GAtES。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。 现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。

VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要

文本型

TEXT

使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。

注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。

当你从HTML fORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。

一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。

数值型

SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。

INT VS SMALLINT VS TINYINT

他们的区别只是字符长度:

INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数

SMALLINT 型数据可以存储从-32768到32768的整数

TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数

通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。

NUMERIC

为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。

当定义一个NUMERIC型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:MUNERIC(23,0)

一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。

MONEY VS SMALLMONEY

你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。

SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。

逻辑型

BIT

如果你使用复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

当心,在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。

日期型

DATETIME VS SMALLDATETIME

一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。

DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。

⑵ 怎么创建一个本地的sql数据库

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
[ PRIMARY ] <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
FILESTREAM ( <filestream_option> [,...n ] )
| DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
| DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON}
| TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
| DB_CHAINING { OFF | ON }
| TRUSTWORTHY { OFF | ON }
}

<filestream_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
| DIRECTORY_NAME = 'directory_name'
}

To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
| ATTACH_REBUILD_LOG }
[;]

<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [ ,...n ]
}

<attach_database_option> ::=
{
<service_broker_option>
| RESTRICTED_USER
| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}

Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]

database_name

新数据库的名称。

数据库名称在 SQL Server 的实例中必须唯一,并且必须符合 标识符规则。

除非没有为日志文件指定逻辑名称,否则 database_name 最多可以包含 128 个字符。

如果未指定逻辑日志文件名称,则 SQL Server 将通过向 database_name 追加后缀来为日志生成 logical_file_name 和 os_file_name。

这会将 database_name 限制为 123
个字符,从而使生成的逻辑文件名称不超过 128 个字符。

如果未指定数据文件的名称,则 SQL Server 使用 database_name 作为 logical_file_name 和 os_file_name。

默认路径从注册表中获得。

可以使用 Management Studio 中的“服务器属性”(“数据库设置”页)更改默认路径。

更改默认路径要求重新启动 SQL Server。

CONTAINMENT

指定数据库的包含状态。

NONE = 非包含数据库。

PARTIAL = 部分包含的数据库。

ON

指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。

当后面是以逗号分隔的、用以定义主文件组的数据文件的 <filespec> 项列表时,需要使用
ON。

主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的 <filegroup>
项列表(可选)。

PRIMARY

指定关联的 <filespec> 列表定义主文件。

在主文件组的 <filespec> 项中指定的第一个文件将成为主文件。

一个数据库只能有一个主文件。

有关详细信息,请参阅 数据库文件和文件组。

如果没有指定 PRIMARY,那么 CREATE DATABASE
语句中列出的第一个文件将成为主文件。

LOG ON

指定显式定义用来存储数据库日志的磁盘文件(日志文件)。

LOG ON 后跟以逗号分隔的用以定义日志文件的 <filespec> 项列表。

如果没有指定 LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的 25% 或 512
KB,取两者之中的较大者。

此文件放置于默认的日志文件位置。

有关此位置的信息,请参阅 查看或更改数据文件和日志文件的默认位置 (SQL Server Management Studio)。

不能对数据库快照指定 LOG ON。

COLLATE collation_name

指定数据库的默认排序规则。

排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。

如果没有指定排序规则,则将 SQL Server 实例的默认排序规则分配为数据库的排序规则。

不能对数据库快照指定排序规则名称。

不能使用 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG
子句指定排序规则名称。

有关如何更改附加数据库的排序规则的信息,请访问此 Microsoft 网站。

有关 Windows 和 SQL 排序规则名称的详细信息,请参阅 COLLATE (Transact-SQL)。

注意

包含数据库的排序方式不同于非包含数据库。

有关详细信息,请参阅 包含数据库的排序规则。

WITH <选项>

仅在将 CONTAINMENT 设置为 PARTIAL 之后,才允许使用以下选项。

如果将 CONTAINMENT 设置为 NONE,将发生错误。

<filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }

指定对数据库的非事务性 FILESTREAM 访问的级别。

USE master;

GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.创建指定数据和事务日志文件的数据库

下面的示例将创建数据库 Sales。

因为没有使用关键字 PRIMARY,第一个文件 ( Sales_
dat) 将成为主文件。

因为在 Sales_ dat 文件的 SIZE 参数中没有指定 MB 或 KB,将使用 MB 并按 MB 分配。

Sales_ log 文件以 MB 为单位进行分配,因为 SIZE 参数中显式声明了
MB 后缀。

USE master;

GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

C.通过指定多个数据和事务日志文件创建数据库

以下示例创建数据库 Archive,该数据库具有三个 100-MB 数据文件和两个 100-MB 事务日志文件。

主文件是列表中的第一个文件,并使用 PRIMARY
关键字显式指定。

事务日志文件在 LOG ON 关键字后指定。

请注意用于 FILENAME 选项中各文件的扩展名: .mdf 用于主数据文件, .ndf 用于辅助数据文件, .ldf 用于事务日志文件。

此示例将数据库放置于 D: 驱动器上,而非 master 数据库中。

USE master;

GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

⑶ 如何创建一个SQL数据库

Dim cn As Connection
Dim str As String
str = "CREATE DATABASE Sales " & _
"ON (NAME = Sales_dat," & _
"FILENAME = 'D:\saledat.mdf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 10% )" & _
"LOG ON ( NAME = 'Sales_log'," & _
"FILENAME = 'D:\salelog.ldf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 5MB )"
Set cn = New Connection
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=pmserver;User ID=sa;Password=sa"
.Open
.Execute str
End With
Set cn = Nothing

---------------------------------------------------------------

Dim cn As Connection
Dim str As String
str = "CREATE DATABASE Sales " & _
"ON (NAME = Sales_dat," & _
"FILENAME = 'D:\saledat.mdf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 10% )" & _
"LOG ON ( NAME = 'Sales_log'," & _
"FILENAME = 'D:\salelog.ldf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 5MB )"
Set cn = New Connection
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=pmserver;User ID=sa;Password=sa"
.Open
.Execute str
End With
Set cn = Nothing

---------------------------------------------------------------

CREATE DATABASE database_name On Primary (Name=databasename,Filename=xxxx.mdf,Size=15MB,Filegrowth=10%) Log On (Name=databaselog,Filename=xxxx.ldf,Size=3MB,Maxsize=10MB,FileGrowth=1MB)

⑷ 如何创建SQL表

  • 创建数据库表首先得创建好数据库,数据库的具体创建方法请参见:http://jingyan..com/article/63f236280e53740209ab3d53.html

  • 3

    创建数据表的源代码如下,各命令详见请自行网络。

    use test

    go

    if exists(select name from sys.tables where name='Student')

    drop table Student

    go

    create table Student

    (sname nchar(10) primary key,

    sex nchar(2) not null,

    bir datetime

    )

⑸ SQL创建数据库

IF判断是判断是不是已经存在了同名的数据库了?如果存在,那么删除掉。
这样才能保证你下边创建数据库编码不会冲突,否则如果IF成立,会存在同名的数据库,你创建会提示错误的。
USE
Q1,表示将数据库切换到Q1上去,这样你再写SQL语句,就是在这个数据库上运行了。
比如登录查询分析器默认的数据库是MASTER,而USER
Q1,会将数据库切换到Q1上。
master..sysdatabases
这个意思是master数据库里面的sysdatabases表,此处必须是两点,前边不是表名,而是数据库名。比如你查询分析器连接的是Q1数据库,而这时候你想直接跨库查询northwind数据库的表数据,select
*
from
northwind..category
两个点前边的是数据库名,后边是表名。

⑹ 如何创建SQL存储过程

步骤如下:

  1. 在对象资源管理器中,连接到某个数据库引擎实例,再展开该实例。

  2. 展开“数据库”、sql server存储过程所属的数据库以及“可编程性”。

  3. 右键单击“存储过程”,再单击“新建存储过程”。

  4. 在“查询”菜单上,单击“指定模板参数的值”。

  5. 在“指定模板参数的值”对话框中,“值”列包含参数的建议值。接受这些值或将其替换为新值,再单击“确定”。

  6. 在查询编辑器中,使用过程语句替换 SELECT 语句。

  7. 若要测试语法,请在“查询”菜单上,单击“分析”。

  8. 若要创建sql server存储过程,请在“查询”菜单上,单击“执行”。

  9. 若要保存脚本,请在“文件”菜单上,单击“保存”。接受该文件名或将其替换为新的名称,再单击“保存”。

⑺ SQL语句创建表

CREATE TABLE 语句用于创建数据库中的表。

具体用法为:

CREATE TABLE 表名称

(

列名称1 数据类型,

列名称2 数据类型,

列名称3 数据类型,

....

)

(7)创建sql扩展阅读

创建表数据类型:

integer(size) int(size) smallint(size) tinyint(size):仅容纳整数。

decimal(size,d) numeric(size,d):容纳带有小数的数字。

char(size):容纳固定长度的字符串

varchar(size):容纳可变长度的字符串

date(yyyymmdd):容纳日期。

参考资料:网络-SQL CREATE TABLE

⑻ sql语句 如何创建一个表啊

创建表的SQL语句根据不同的数据库会有所不同,常见的几种数据库创建方式如下:

创建一个表。表名字Persons,第一列Id_P,整数类型;第二列LASTName,字符类型;第三列FirstName,字符类型。

微软VS SQL 2008 数据库

(8)创建sql扩展阅读:

结构化查询语言(Structured Query Language)简称SQL,是用于访问和处理数据库的标准的计算机语言,同时也是数据库脚本文件的扩展名。常用的操作:

删除表-- drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录;

删除数据库 -- drop database databasename;

删除数据记录 -- "delete from 数据表 where 条件表达式"

⑼ 怎么创建sql数据库

直接使用create database 命令可创建数据库,例如 create database test default character set utf8; 表示默认创建一个 test的数据库并把字符集设置为utf8。

⑽ 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

热点内容
邮政工会卡初始密码是什么 发布:2024-11-13 09:39:37 浏览:507
SQL传入变量 发布:2024-11-13 09:36:38 浏览:462
tc算法 发布:2024-11-13 09:30:37 浏览:965
python2712 发布:2024-11-13 09:30:15 浏览:634
smsforandroid 发布:2024-11-13 09:20:22 浏览:676
如何查找公司邮件服务器与端口 发布:2024-11-13 08:55:12 浏览:531
pythonrequests文件 发布:2024-11-13 08:52:27 浏览:223
速腾安卓大屏什么牌子好 发布:2024-11-13 08:49:59 浏览:665
黑岩上传 发布:2024-11-13 08:49:18 浏览:34
Python高清 发布:2024-11-13 08:41:20 浏览:738