SQL 数据库 学习 008 如何通过图形化界面建表 和 建主外键约束
来源:互联网 发布:嵌入式c语言精华 编辑:程序博客网 时间:2024/06/08 16:47
在库里面建表。所以我们现在需要先新建一个库,然后在库里面新建一个表。
所以,先建一个 库 ,取名为:test
输入新建库的名字:test
。 现在点击 确定 按钮。
如果你在创建库的时候,遇到了下面这个异常。请查看这篇博客解决问题。
新建成功:
我们现在在库里面在建表。
建表的方式有两种:一种是鼠标点击的方式;一种是输入命令的方式。(但是不推荐鼠标去点。如果你想要这个命令正确的执行成功,并且它很稳定,一般都是使用命令去实现。)
现在我们先来介绍如何使用鼠标来操作:
下面使用点击鼠标的方式(图形化界面 )进行建表:
对着 库 的 表 点击右击,点击 表(T)…
列 名这里使用英文,后面选择 数据类型 。
目前第一个列取名为:emp_ename
。数据类型选择为:nvarchar(MAX)
。(表示的是:一个国际化编码可变的字符串。n
指的是:国际化,对汉字也支持;var
指的是:变量。所以:nvarchar(MAX)
指的是:可以存储汉字的字符串长度可以变化的字符串数据。)。后面的 允许 Null 值
,如果你勾选了,意味着这一列的值可以是空的,所以我们不勾选。
其它列按照员工表对应的输入。
最终建出来的表就是下面这个样子的。(我们现在还没有添加 部门编号,为什么不添加?因为现在我们还没有部门这个表。(所以,如果我们先新建部门表,再建员工表就好了。))
nchar
中的n
指的也是:支持国际化,支持汉字。
现在按 Ctrl + S 保存,将这个表取名为:emp
。 点击 确定 按钮。
现在这个 员工 表建立完成。
现在,我们就可以在:对象资源管理器 里面看到 test数据库里面的 表 选单里面多出来一个 dbo.emp
表。
如果你没有在这里面看到刚刚新建的
dbo.emp
表。进行下面的操作:(刷新一下,就出现了。)
展开 dbo.emp
表,你可以看到:
现在还没有添加主键。(刚刚并没有设置主键。)如果没有主键,数据就容易 冗余。
举个例子:
在表中添加内容:
如果添加的两条记录一模一样,那么得到的数据就 冗余 了。
如何添加记录?
数据添加完之后,点击框框中的地方:
点击后,红色的叹号消失:
如果你添加的是冗余的数据,还有在点击执行按钮,叹号才会消失。
在设计字段的时候,编号就是不能重复的,但是上面的两条冗余数据导致了编号的重复,所以现在编号就不能设置为主键了。不信,我们现在来试试。
对表的结构进行修改,点击 设计
对 emp_id
属性 右键 ,选择 :设置主键(Y)
然后保存。(保存就会出错。)
目前数据里面的 emp_id
属性有重复的数据,现在你又想将其设置为不可重复的主键,所以就出错了。
现在,我需要将表里面的 emp_id
属性里的数据进行修改。目的就是:不能让里面的数据内容重复。(我使用图形界面(就是鼠标点击)的方式修改不了表里面的数据;我们修改数据使用敲命令的方法也是修改不了的,这说明了:数据不能有冗余。)
我们现在只能将两条数据都删除。(使用图形界面(就是鼠标点击)的方式删除不了的;我们修改使用命令来删除)
新建一个查询文件(.sql
后缀的文件)。
在里面输入下面的命令:
delete from emp
点击 执行 按钮。
现在数据还在。
点击 执行 图标。
数据消失。(这个软件真是好弱啊!)
折腾了一顿。
下面使用点击鼠标的方式(图形化界面 )进行建主外键约束:
所以,我们应该先设置主键,然后 Ctrl + S
保存。接下来在添加数据。这才是正确的步骤。
接着添加,数据:
现在有了主键,导致了:主键里面的数据不能一样。
现在,我们在写一个表: 部门表 。并添加下面的数据,同时将 dept_id
属性设置为 主键。
按 Ctrl + S
保存此表,命名为:dept
注意:数据是中文的无所谓。但是你不要把表的结构和库的结构也写成中文。
现在我们来到 emp 表。添加 dept_id
这个属性(注意:这个属性的 允许Null值
要勾选)。(目的是:将其设置为外键)
然后右键,点击 关系
然后点击 添加
点击 下面红框框里面的按钮。
设置为下面这个样子。将 dept_id
这个属性设置为 外键。
解释一下:存在外键的表叫做 外键表,(外键:就是来自于另外一个表的主键)。 emp
(员工) 表里面有一个dept_id
(部门编号)这个外键,它就是 dept
(部门)表的主键。
点击 确定, 再点击 关闭。现在按 Ctrl + S
保存,会弹出下面的窗口。点击 是 按钮。
我现在在 dept
(部门)表里面添加数据。
现在再来到 emp
(员工)表里面,给dept_id
(部门编号)(外键) 添加数据。(如果你打开emp
表发现里面现在还没有dept_id
这个属性,就关闭这个页面,重新打开这个emp
表,就有了。(这个软件正弱!))
我们来总结一下:应该先建部门表,然后在建员工表,是最好的。也就是说:先建主键表,然后再将外键表(因为外键表有数据来自另外的表(主键表))。
请访问:http://www.aobosir.com/
- SQL 数据库 学习 008 如何通过图形化界面建表 和 建主外键约束
- SQL 数据库 学习 010 表和约束的区别、check约束、default约束、unique约束、not null约束
- SQL 数据库 学习 009 通过SQL命令 建表 和 主外键约束
- Navicat 创建数据库和表之图形化界面方法
- 如何通过使用Xmanager的图形化界面修改系统
- 如何利用PL/SQL Developer图形化界面建库建表
- 如何利用PL/SQL Developer图形化界面建库建表
- perl图形化界面学习
- SQL语句创建数据库及表和约束等
- Oracle数据库:如何创建约束及创建约束的SQL语句,正则约束的SQL语句
- 数据库 SQL语言中 列级约束和表级约束
- MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具
- 数据库的图形化界面的安装
- 使用HeidiSQL数据库图形化界面管理工具
- 如何在centOS等一些linux系统下安装oracle sqldeveloper图形化数据库操作界面
- 如何在centOS等一些linux系统下安装oracle sqldeveloper图形化数据库操作界面
- SQL基础和表约束
- SQL Server中用SQL命令建表和主外键约束
- 个人对观察者模式的理解和应用
- 【linux】sed命令详解
- Volley的cache之硬盘缓存--DiskBasedCache
- 基于51单片机的六足仿生机器人
- MySQL导入.csv文件时报1300错误
- SQL 数据库 学习 008 如何通过图形化界面建表 和 建主外键约束
- Java注解的使用
- 为什么说Volley适合数据量小,通信频繁的网络操作
- 如何正确合理的建立MYSQL数据库索引
- Android OpenGLES2.0(一)——了解OpenGLES2.0
- Android学习之 WebView使用小结
- 百度 凤巢 机器学习实习生面经
- 6.使用@Autowired注解
- 设计模式入门一:策略模式