来自MySQL的学习笔记,写的不对的地方大家多多指教哦
什么是外键?
假设有 2 个表,分别是表 A 和表 B,它们通过一个公共字段“id”发生关联关系,我们把这个关联关系叫做 R。如果“id”在表 A 中是主键,那么,表 A 就是这个关系 R 中的主表。相应的,表 B 就是这个关系中的从表,表 B 中的“id”,就是表 B 用来引用表 A 中数据的,叫外键。所以,外键就是从表中用来引用主表中数据的那个公共字段。
语法结构:
在创建表时添加外键约束:
在修改表时定义外键约束:
例子1:创建表时添加外键约束
首先创建主表:importhead
创建从表:test_mysql.importdetails
查询外键约束的相关信息:
查询结果为:
例子2:修改表时定义外键约束
修改表时定义从表test_mysql.importdetails的外键约束
删除外键约束使用DROP,语法结构为:
例子:删除从表test_mysql.importdetails的外键约束
在 MySQL 中,有 2 种类型的连接,分别是内连接(INNER JOIN)和外连接(OUTER JOIN)。
在 MySQL 里面,关键字 JOIN、INNER JOIN、CROSS JOIN 的含义是一样的,都表示内连接。我们可以通过 JOIN 把两个表关联起来,来查询两个表中的数据。
例子:有一张销售表,如下图:
有一张会员信息表,如下图:
通过内连接,查询会员的销售记录:
运行语句,结果如下:
根据上面的结果,其实可以得知:内连接查询到结果集为两个表的交集部分。
跟内连接只返回符合连接条件的记录不同的是,外连接还可以返回表中的所有记录,它包括两类,分别是左连接和右连接。
例子1:左外连接
如果需要查询所有销售记录,则可以使用左外连接
运行语句,结果为:
从上面的结果可以得知,LEFT JOIN左边的表会返回全部记录,而右边的表只返回符合连接条件的记录
例子2:右外连接:
运行语句,结果为:
从上面的结果可以得知,RIGHT JOIN右边的表会返回全部记录,而左边的表只返回符合连接条件的记录
mysql向数据库中添加数据一、添加MySQL数据库1.点击“数据库(MySQLDatabases)”,进入到数据库设置界面: 2.在“生成新的数据库”下输入数据库名,然后点击“生成数据库”按钮: 3.数据库已经添加,点击 “回到/返回”,回到数据库设置页面: 二、添加MySQL用户 1.在添加新用户下,填写用户名和密码,最后点击“生成用户”: 2.MySQL用户添加成功,点击“返回”回到数据库设置页面: 三、关联MySQL数据库和用户 1.在“向数据库添加用户”下,选择刚才添加的MySQL数据库和用户,点击“添加”: 2.勾选MySQL用户的权限,一般都是我们自己使用,建议全选,点击更改: 3.MySQL数据库和用户关联成功 ,点击“返回”回到数据库设置页面: 4.此时在“当前数据库”就可以看到关联号的MySQL数据库和用户: 到这里为止,cPanel成功添加了MySQL数据库,本文演示创建的数据库信息如下: 服务器一般为 7640 向mysql数据库中插入数据时显示“Duplicate entry 1′ for key ‘PRIMARY ”错误 在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其他不清楚)不推荐使用这种方法,一般数据表都是需要有主键的。 2.可以设置一个自增的id号作为主键,其余数据就可以相同了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)