数据库建表时候如何通过鼠标设置外键,不用语句

说白了就是用鼠标点几下就行。
MySQL是点列名加键,选外键,再选对应主键。
SQL Server类似,但叫法不同。
Oracle要加列再加外键,填列名和主表主列。
FoxPro更简单,拖主索引到非主索引上就行。
不过各系统界面细节有点区别,具体得看系统。

mysql创建表外键约束怎么写

哎哟,咱们聊聊MySQL里头那个外键约束的事。
这玩意儿啊,就相当于在数据库里头立了个规矩,保证数据的一致性。
咱们先来创建两个表,一个当爹,一个当儿子。

首先,得给爹表(parent_table)定个主键,这样儿子表(child_table)才能知道跟着谁。
代码是这样的:
sql CREATE TABLE parent_table ( id INT NOT NULL, name VARCHAR(2 5 5 ) NOT NULL, PRIMARY KEY (id) );
然后,给儿子表弄个外键,这个外键指向爹表的主键。
这样儿子表里的记录就都跟爹表里的记录绑定了。
代码如下:
sql CREATE TABLE child_table ( id INT NOT NULL, parent_id INT NOT NULL, value VARCHAR(2 5 5 ) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCES parent_table(id) );
不过,有时候咱们想更细致地控制外键的行为。
比如,爹表里的记录被删了,咱们想自动把儿子表里相关的记录也给删了,这就用得上ON DELETE CASCADE。
反过来,如果爹表里的记录被更新了,咱们不想让儿子表里相关的记录跟着变,那就用ON UPDATE RESTRICT。

看看这个:
sql ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE CASCADE ON UPDATE RESTRICT;
这段代码的意思是:爹表里的记录被删了,儿子表里相关的记录也跟着删;爹表里的记录被更新了,儿子表里相关的记录就别跟着变了。

但是,说真的,这俩表里头的列数据类型得一样,爹表允许空值的列,儿子表里对应的外键列也得允许空值。
还有啊,如果爹表里的列数据结构改了,咱们得回来把这个外键约束也给改了,不然就玩儿不转了。

总之,外键约束这东西,就是保证数据完整性的好帮手。
用得好,数据就不会乱糟糟的。

在MySQL中如何设置主键和外键

嘿,说到设置MySQL的主键和外键,这事儿我以前是经常干的。
说起来,我还记得有一次在某个项目里,我们得重新设置主键,那场景还真是有点意思。

当时,我们有个数据库表叫jingyan,里面原本就有主键,但后来因为一些原因,得把原来的主键给删了。
这操作其实很简单,首先你通过终端进入MySQL命令行工具,然后使用use命令进入目标数据库。
记得当时是这么操作的:
sql USE your_database_name;
然后,我们就用DROPPRIMARYKEY命令把原来的主键给删了。
命令是这样的:
sql ALTER TABLE jingyan DROP PRIMARY KEY;
执行完这个命令后,主键就没了。
接下来,我们用ADDPRIMARYKEY命令添加一个新的主键。
当时我是这么写的:
sql ALTER TABLE jingyan ADD PRIMARY KEY (id);
按回车之后,就看到那个熟悉的Query OK, 0 rows affected,这表示操作成功了。
然后,我就回到数据库的可视化工具里,一看,果然在id列上添加了主键。

至于设置外键,那也是必须的。
首先,你得创建好主从表。
然后,在主表的设计界面里,点击外键设置。
记得当时我是这样操作的:
1 . 选择主表,点击设计表,进入表设计界面。
2 . 点击外键,进入外键设置界面。
3 . 设置外键名称,选择主表的外键字段。
4 . 然后设置外键字段对应从表的数据库、表名和字段。
5 . 最后点击保存。

这样,外键设置就完成了。
这事儿虽然简单,但细节很重要,得一步步来。
我记得当时我们团队里有个新手,设置外键的时候,就是外键字段和从表字段没对上,导致数据关联出了问题。
所以,这事儿得细心点。

mysql怎么设定外键

外键约束保证数据一致性。
表名、字段名、主键字段名要一致。
删除外键用DROP。
外键关联删除记录要小心处理。
ONDELETE、ONUPDATE子句避免孤立记录。
你自己掂量。