创建表格

1.创建表格之identity

create table TableName(
id int not null primary key identity(1,1),
col_1 varchar(50),
col_2 nvarchar(50)
)

这是一个简单的表格创建,identity这个是指在创建表格时候,将表格的id这个列设置为自增的,第一个参数表示自增是从几开始,第二个参数表示的是自增的数量是多少。

这张是identity(1,1)的时候

这张是identity(1,4)的时候

2.创建表格之主键和外键

create table Student(
id int not null primary key identity(1,1), --主键的关键字是primary key。字段的后边跟着这个词就是创建一个自增的,自增长度为1的不为空的,主键是id的列
Sage int,
Sname nvarchar(50),
Ssex varchar(50),
Cid int
FOREIGN KEY (Cid) REFERENCES Class(Cid)         --这里是创建一个外键
)

什么是主键:可以这么理解,它是特别的,它是一种唯一标识。就像是身份证一样。比如说我们的名字,性别,年龄都是可以重复的,但是身份证号是绝对不可能重复的,它就代表了你这个人。在比如说是学籍号这个在你的学校里也是认定你这个人的唯一标识。

同理,主键也可以理解为认识这一行的唯一标识。查询它,就可以查询出这一行的其他数据。

1) 一个表中只能有一个主键。
2)主键的值不可重复,也不可为空。

创建主键应当遵循的规则:

1、主键对于用户来说没有太大意义。就像这个学生表的id,它除了能够快速的找到你这个人,并没有很大的意义。

2、尽量不要自己去更新主键,最好是自增的,计算机自动生成的

3、主键不要包含动态变化数据。如时间戳、创建时间列、修改时间列等。

什么是外键:外键是一种约束。它是关系的有效性检查。可以这么理解:

  id Sname Sage Cid
1 小明 16 1
2 小黑 18 2
3 小小 19 8

   

Cid Cname
1 一年级一班
2 一年级二班
3 一年级三班

 

这是两张表格,一张是学生表,一张是班级表。他们之间存在这联系。小明是所在的班级的cid是1所以可以很直观的看见他是一年级一班的学生,小黑是一年级二班的学生,小小的cid是8在班级表中并没有找到班级为8的班级。也就是说不存在八班的学生

这样的话数据容易出错,所以需要外键来对他们的关系进行约束。对cid进行约束的时候,不让学生表当中出现不存在班级表的id。总的来说就是只要班级表没有的Cid,你的学生表就不能填入这个不存在的Cid。

数据库艰难求生之路(基础:创建数据库表格)part1的更多相关文章

  1. 数据库艰难求生之路(基础:增删改查)part2

    一.数据库查询 由于这个点的东西实在是多的,我就和题目,知识点一起演示. 首先是创建数据库: create database ExampleInfo --创建数据库 use ExampleInfo - ...

  2. 数据库入门(mySQL):创建数据库

    基于JetBrains DataGrip创建数据库.SQL语句创建数据库 MySQL数据库存储引擎和数据类型 创建数据库表及基本操作 导出数据库.删除数据库.导入数据库 一.基于JetBrains D ...

  3. MySQL数据库实验:任务一 创建数据库和表

    目录 任务一 创建数据库和表 [实训目的与要求] [实训原理] [实训步骤] 一.熟悉MySQL环境 二.利用MySQL命令行窗口创建数据库及表 三.利用界面工具创建数据库及表 任务一 创建数据库和表 ...

  4. asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库

    1.首先下载vs2015的Asp.Net Core(RC2)的插件工具(https://www.microsoft.com/net/core#windows)2.创建一个asp.net Core的项目 ...

  5. 【Android】数据库的简单应用——创建数据库

    SQLiteOpenHelper是一个抽象类,要使用它必须写一个类继承它.SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),我们要在类里面重写这两个方法来实现 ...

  6. mysql数据库的基本操作:创建数据库、查看数据库、修改数据库、删除数据库

    本节相关: 创建数据库 查看数据库 修改数据库 删除数据库 首发时间:2018-02-13 20:47 修改: 2018-04-07:考虑到规范化,将所有语法中“关键字”变成大写;以及因为整理“mys ...

  7. MySQL数据库执行sql语句创建数据库和表提示The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working

    MySQL创建数据库 只想sql文件创建表时候提示 The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to ha ...

  8. Android——SQLite数据库(一)创建数据库、创建表、初始化数据

    xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...

  9. 云数据库 RDS 版怎么创建数据库和账号MySQL 5.7版

    若要使用云数据库RDS,您需要在实例中创建数据库和账号.对于MySQL 5.7版本的实例,您需要通过RDS控制台创建一个初始账号,然后可以通过数据管理(DMS)控制台创建和管理数据库.本文将主要介绍在 ...

随机推荐

  1. SQL数据库的一些操作

    --以 MySQL为例 //登陆 mysql -u root -p //创建一个名为test_lib的数据库 CREATE DATABASE test_lib //删除一个名为test_lib的数据库 ...

  2. appium----【已解决】【Mac】ANDROID_HOME的环境变量配置

    在搭建appium的环境时,提示Android_home的环境没有配置,经过一会的奋战终于解决,再次记录下解决方式. 1.安装android-sdk-macosx 下载路径:http://down.t ...

  3. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 报错问题

    com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve ...

  4. SASS 中变量的默认值

    SASS 中定义的变量,后设置的值会覆盖旧的值. $color: red; $color: blue; .btn { color: $color; } 编译后为: .btn { color: blue ...

  5. Kubernetes 在生产环境中常用架构

    Kubernetes 在生产环境中常用架构 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下图所示 在该架构中,我们可以将其分为四层,如下: Client层:即Kuber ...

  6. No module named MySQLdb

    解决办法 easy_install mysql-python (mix os) pip install mysql-python (mix os/ python 2) pip install mysq ...

  7. RabbitMQ死信队列另类用法之复合死信

    前言 在业务开发过程中,我们常常需要做一些定时任务,这些任务一般用来做监控或者清理任务,比如在订单的业务场景中,用户在创建订单后一段时间内,没有完成支付,系统将自动取消该订单,并将库存返回到商品中,又 ...

  8. DevOps实践之一:基于Docker构建企业Jenkins CI平台

    基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...

  9. docker常规操作——启动、停止、重启容器实例

    一.启动一个已经停止的容器实例 docker start 容器ID或容器名,建议使用容器ID,容器ID支持模糊查询而容器名称不支持1. 先查看已经暂停的容器实例信息 2. 通过docker start ...

  10. Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

    概述 人力资源管理概述 一般企业里,和人力资源相关的工作有:1)员工合同管理,即员工基本档案管理:2)招聘管理,即岗位及岗位人员补充管理:3)员工薪资计算: 4)员工考勤:5)员工休假管理:6)员工绩 ...