Banco de dados - criar banco de dados + criar tabela e chave primária

1. Crie um banco de dados

1. Crie um banco de dados padrão

insira a descrição da imagem aqui

# 创建一个默认的数据库test
create database test

insira a descrição da imagem aqui
Após criar, clique em Executar e haverá um banco de dados adicional na lista à esquerda.
insira a descrição da imagem aqui
Consulte o endereço do banco de dados padrão:

Clique com o botão direito do mouse no banco de dados e insira propriedades
insira a descrição da imagem aqui
. Você pode visualizar o banco de dados padrão nas opções de arquivo:

insira a descrição da imagem aqui

2. Crie um banco de dados para o local do parâmetro especificado

	create database S072003DBS
	ON -- 创建数据文件
	(
		NAME='S072003DATA', --文件名
		FILENAME='D:\S072003DBS\S072003DATA.MDF',  --文件路径
		SIZE=10, --初始大小
		MAXSIZE=100, --最大容量
		FILEGROWTH=10 --自动增长容量
	)
	LOG ON -- 创建事务日志文件 
	(
		NAME='S072003LOG',
		FILENAME='D:\S072003DBS\S072003LOG.LDF',
		SIZE=10,
		MAXSIZE=100,
		FILEGROWTH=10
	)
-- 注意:最后一个变量后面不能加逗号,否则会报错

3. Adicionar arquivo de dados NDF

-- 修改带有NDF数据文件的数据库
	ALTER DATABASE S072003DBS
	ADD FILE
	(
		NAME='S072003DATANDF01',
		FILENAME='D:\S072003DBS_NDF\S072003DATANDF01.NDF',
		SIZE=10,
		MAXSIZE=100,
		FILEGROWTH=10
	)

Neste ponto, você pode ver o arquivo NDF criado conforme mostrado abaixo:
insira a descrição da imagem aqui
Além disso, você também pode adicionar manualmente um arquivo NDF

Clique com o botão direito do mouse no banco de dados, clique em Propriedades e clique em Adicionar:
insira a descrição da imagem aqui

insira a descrição da imagem aqui
insira a descrição da imagem aqui
Até agora, o arquivo MDF e os dois arquivos NDF que criamos juntos constituem um banco de dados lógico completo.

 -- 通过下面这个语句可以查看S072003DBS 这个数据库的相关信息
SP_HELPDB S072003DBS

insira a descrição da imagem aqui
4. Remova os arquivos de dados NDF

Remova o arquivo S072003228DANTF01:

	ALTER DATABASE S072003DBS
	REMOVE FILE S072003228DATANDF01

insira a descrição da imagem aqui

2. Crie a tabela

Conforme mostrado na figura abaixo, existem dez tabelas no Excel, e algumas instruções podem ser usadas para criar tabelas de forma mais conveniente
insira a descrição da imagem aqui

	--创建产品信息表PRODUCTS
CREATE TABLE PRODUCTINFO
(PID INT,
PNAME NVARCHAR(50),
PROVIDERID INT,
PTID INT,
UNITS NVARCHAR(20),
PRICE DECIMAL(7,2),
STOCK INT,
ORDERQ INT,
REORDERQ INT)

	--创建订单信息表ORDERS
CREATE TABLE ORDERS
(ORDERID INT,
CUSTID CHAR(5),
EMPID INT,
ODATE DATETIME2,
SDATE DATETIME2,
ADATE DATETIME2,
SHIPPERID INT,
SHIPFEE DECIMAL(7,2),
POWNER NVARCHAR(20),
OWNERADD NVARCHAR(50),
OWNERCITY NVARCHAR(10),
OWNERREGION NVARCHAR(20),
OWNERZIP NVARCHAR(10),
OWNERCOUNTRY NVARCHAR(10))

	--创建订单明细表ORDERDETAIL
CREATE TABLE ORDERDETAIL
(ORDERID INT,
PID INT,
PRICE DECIMAL(7,2),
QUANTITY INT,
DISCOUNT DECIMAL(4,2),
CUSTID CHAR(5))

	--创建供应商信息表PROVIDERS
CREATE TABLE PROVIDERS
(PROVIDERID INT,
PROVIDERNAME NVARCHAR(50),
PROVIDERCOMNAME NVARCHAR(20),
PROVIDERCOMTITLE NVARCHAR(10),
PROVIDERADD NVARCHAR(50),
PROVIDERACITY NVARCHAR(20),
PROVIDERREGION NVARCHAR(20),
PROVIDERZIP NVARCHAR(10),
PROVIDERCOUNTRY NVARCHAR(10),
PROVIDERTEL NVARCHAR(20),
PROVIDERFAX NVARCHAR(20),
PROVIDERWEB NVARCHAR(50))

	--创建员工信息表EMPLOYEES
CREATE TABLE EMPLOYEES
(EMPID INT,
EMPFN NVARCHAR(20),
EMPLN NVARCHAR(20),
EMPTITLE NVARCHAR(20),
EMPRESPECT NVARCHAR(10),
EMPLEADER INT,
EMPHIER NVARCHAR(20),
EMPBIRTHDAY DATETIME,
EMPHIRE DATETIME,
EMPADD NVARCHAR(50),
EMPCITY NVARCHAR(20),
EMPREGION NVARCHAR(20),
EMPZIP NVARCHAR(10),
EMPCOUNTRY NVARCHAR(20),
EMPHOMTEL NVARCHAR(20),
EMPTELEXTEN NVARCHAR(10),
EMPPIC IMAGE,
EMPMEMO NVARCHAR(MAX))

	--创建订单类型表ORDERTYPE
CREATE TABLE ORDERTYPE
(ORDERTYPE NVARCHAR(50),
OTMIN INT,
OTMAX INT)

	--创建利率表RATEINFO
CREATE TABLE RATEINFO
(RCURRENCY NVARCHAR(10),
RATIO DECIMAL(5,2))


	--创建顾客信息表EMPLOYEES
CREATE TABLE CUSTOMERS
(CUSTID CHAR(5),
CUSTNAME NVARCHAR(50),
CUSTCOMNAME NVARCHAR(50),
CUSTCOMTITLE NVARCHAR(10),
CUSTADD NVARCHAR(50),
CUSTCITY NVARCHAR(10),
CUSTREGION NVARCHAR(10),
CUSTZIP NVARCHAR(10),
CUSTCOUNTRY NVARCHAR(20),
CUSTTEL NVARCHAR(20),
CUSTFAX NVARCHAR(20))

	--创建类型表PTYPES
CREATE TABLE PTYPES
(PTID INT,
PTNAME NVARCHAR(50),
PTMEMO NVARCHAR(50),
PTPIC IMAGE)

	--创建运货商信息表SHIPPERS
CREATE TABLE SHIPPERS
(SHIPID INT,
SHIPNAME NVARCHAR(50),
SHIPTEL NVARCHAR(20))

Após executar o código, há mais dez tabelas no banco de dados:
insira a descrição da imagem aqui

3. Crie uma chave primária

1. Crie uma chave primária

	--创建临时员工信息表EMPLOYEES(带有主键)
CREATE TABLE EMPLOYEESTEMP
(EMPID INT CONSTRAINT EMPID_PRI PRIMARY KEY,
EMPFN NVARCHAR(20),
EMPLN NVARCHAR(20),
EMPTITLE NVARCHAR(20),
EMPRESPECT NVARCHAR(10),
EMPLEADER INT,
EMPHIER NVARCHAR(20),
EMPBIRTHDAY DATETIME,
EMPHIRE DATETIME,
EMPADD NVARCHAR(50),
EMPCITY NVARCHAR(20),
EMPREGION NVARCHAR(20),
EMPZIP NVARCHAR(10),
EMPCOUNTRY NVARCHAR(20),
EMPHOMTEL NVARCHAR(20),
EMPTELEXTEN NVARCHAR(10),
EMPPIC IMAGE,
EMPMEMO NVARCHAR(MAX))

insira a descrição da imagem aqui
Conforme mostrado na figura, após a criação da chave primária, há uma trava adicional
insira a descrição da imagem aqui

2. Execute as configurações de chave primária e estrangeira na tabela criada

Conforme mostrado na figura abaixo, quero PRODUCTINFOdefinir a chave primária para o PID desta tabela, mas como o PID pode permitir NULL, se for definido diretamente, um erro será relatado.
insira a descrição da imagem aqui
Os dois trechos de código a seguir devem ser executados separadamente e não pode ser executado ao mesmo tempo:

# 先把PID设置为NOT NULL
	ALTER TABLE PRODUCTINFO
    ALTER COLUMN PID INT NOT NULL 
-- 对已创建的表进行主键,外键的设置
	ALTER TABLE PRODUCTINFO
--  ALTER COLUMN PID INT NOT NULL 
	ADD CONSTRAINT PK_PID PRIMARY KEY (PID)

Neste ponto, a chave primária foi definida
insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/wxfighting/article/details/123831441
Recomendado
Clasificación