数据库——创建数据库+创建表与主键

简介: 数据库——创建数据库+创建表与主键

一、创建数据库



1、创建默认数据库


a23421a260b54ab5aebb0294581fd9cd.png

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

804d4f73b6a24e0ab69a5ed2a53fb227.png


创建完之后点击执行,则左边的列表当中会多出一个数据库。

cd7d5b52827a422bbdd7fea5e5fdf2ab.png


查询默认数据库的地址:

右键数据库进入属性

44b06da79d2045e3b2b6cf2e2b1f4ccd.png


在文件选项中可以查看默认数据库:

1a3a969a214a4053876ca44c0df0a3f1.png


2、创建指定参数位置数据库


  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、添加NDF数据文件


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

此时如下图就可以看到创建出的NDF文件:

475236948557412f8d9c2d4d21311f65.png

此外,也可以通过手工的方式添加一个NDF文件

右键数据库之后点击属性,点击添加:

7579babbc6c64c9f8bd0f190407fca7d.png

9d86c97988c04a18aa15ac6427620af7.png

badc46594eab49d080e3166c3eb89cce.png

到此为止,MDF文件,和我们创建的两个NDF文件,共同构成了一个完整的逻辑数据库。

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

将S072003228DATANDF01文件移除:

ALTER DATABASE S072003DBS
  REMOVE FILE S072003228DATANDF01

9128d96d2fe74f84ba83b45ac3dae47c.png


二、创建表



如下图,在Excel当中有十张表,可以利用一些语句更加方便的创建表


83dc9211ea264c78bedd1d48ba560f7f.png

83dc9211ea264c78bedd1d48ba560f7f.png

  --创建产品信息表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))

执行代码之后,数据库当中就多了十张表:

4e40ebf9f7774c6d9968f0f1eab45a54.png



三、创建主键



1、创建主键

  --创建临时员工信息表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))

222ea44a285b4f4f92129693258243bd.png

如图,创建了主键之后就多了一把锁

c9d397e040104486b78a3bc89ff46380.png


2、对已创建的表进行主、外键设置

如下图,想对PRODUCTINFO这张表的PID设置主键,但由于PID可以允许NULL,如果直接设置的话会报错

09b27fd8333746518ecb72a88337240f.png

下面这两段代码要分开执行,不能一次运行:

# 先把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)

此时就已经设置好主键了

7650319a1e434fc399399cae5265f69a.png



相关文章
|
SQL 数据库
使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本并生成表在数据库
使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本并生成表在数据库
422 0
使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本并生成表在数据库
|
9天前
|
SQL 数据库 HIVE
Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
【4月更文挑战第8天】Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
21 0
|
1月前
|
SQL 关系型数据库 MySQL
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程,阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案
353 0
|
1月前
|
SQL NoSQL MongoDB
python MongoClient 创建数据库,并且创建表插入一行数据并查询
要在MongoDB中创建一个数据库、一个集合(在MongoDB中,集合类似于SQL中的表)并插入一行数据,你可以使用MongoDB的官方驱动程序。以下是一个使用Python的pymongo库来执行这些操作的示例: 首先,确保你已经安装了pymongo库。你可以使用pip来安装: bash pip install pymongo 接下来,使用以下Python代码来创建数据库、集合、插入数据并查询: python from pymongo import MongoClient # 连接到MongoDB服务器 client = MongoClient('mongodb://loc
|
9月前
|
SQL 存储 Oracle
Oracle数据库中日期的操作、主键自增与分页查询
Oracle数据库中日期的操作、主键自增与分页查询
80 0
|
4月前
|
SQL 数据库 数据安全/隐私保护
Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)
Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)
60 0
|
5月前
|
Oracle 关系型数据库 数据库
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
48 1
|
7月前
|
关系型数据库 数据库 数据库管理
关系型数据库中的主键和外键
关系型数据库中的主键和外键
|
8月前
|
算法 NoSQL 关系型数据库
数据库主键一定要自增吗?有哪些场景不建议自增?
数据库主键一定要自增吗?有哪些场景不建议自增?
283 0
|
8月前
|
SQL JSON 数据库
Hive学习---2、DDL(Data Definition Language)数据定义 (创建数据库、创建表、修改表)
Hive学习---2、DDL(Data Definition Language)数据定义 (创建数据库、创建表、修改表)

热门文章

最新文章