大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL创建关联表可以理解为是两个表之间有个外键关系,但这两个表必须满足三个条件
创新新互联,凭借十年的网站设计制作、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上1000家案例。做网站建设,选成都创新互联公司。
1.两个表必须是InnoDB数据引擎
2.使用在外键关系的域必须为索引型(Index)
3.使用在外键关系的域必须与数据类型相似
下面分别建两个表来说明一下:
Create TABLE IF NOT EXISTS `books` (
`book_id` smallint(6) NOT NULL auto_increment COMMENT ‘书籍编号',
`book_name` char(20) NOT NULL COMMENT ’书名‘,
`book_pic` varchar(200) NOT NULL COMMENT ’封面‘,
`book_author` char(20) NOT NULL COMMENT ’作者‘,
`book_pub` char(40) NOT NULL COMMENT ’出版社‘,
`book_sort` char(6) NOT NULL COMMENT ’分类‘,
`book_owner` char(6) default NULL COMMENT ’所有者‘,
`book_borrower` char(7) default NULL COMMENT ’借阅者‘,
`book_borrower_time` date default NULL COMMENT ’借阅时间‘,
PRIMARY KEY (`book_id`),
INDEX (book_borrower))
ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=5 ;
Create TABLE IF NOT EXISTS `parts` (
`part_id` smallint(6) NOT NULL COMMENT ’成员编号‘,
`part_name` varchar(6) NOT NULL COMMENT ’成员名‘,
`part_mail` varchar(50) NOT NULL COMMENT ’邮箱‘,
`part_pass` varchar(20) NOT NULL COMMENT ’密码‘,
PRIMARY KEY (`part_id`),
FOREIGN KEY(part_name) REFERENCES books(book_borrower) on delete cascade on update cascade)
分析一下books表和parts表,创建他们的关联,我用了books表的book_borrower字段 创建表时索引并选择InnoDB为表引擎。而parts表即part_name字段为外键,关联到books表的book_borrower字段。注意两 个字段分别是char和varchar都是字符串类型。on delete cascade意思为当books表有相关记录删除时,那parts表也会跟着删除相关联的记录。
CREATE DATABASE cookbook; 创建一个叫“cookbook”的数据库
USE cookbook; 使用cookbook这个数据库
CREATE TABLE limbs (thing VARCHAR(20),legs INT,arms INT); 创建表“limbs”其中包括thing,legs,aems 字段
创建表的命令是 CREATE TABLE 表名称
后面括号里的内容是表中字段的属性
方法如下:
1、首先打开Mysql命令行编辑器,连接Mysql数据库;
2、使用所要操作的数据库,先显示一下数据库中的表;
3、显示一下表结构,了解一下表中的列;
4、向表插入数据,insert into 表名 (列名) values (值);
5、查询表可以看到所插入的数据,select * from 表名;
6、可以再插入一个数据,显示一下。
扩展资料:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
MyISAMMySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默认数据库引擎
BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失
Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。
BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继
EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。
另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。
参考资料来源:百度百科:mySQL
1、打开Navicat for MySQL,找到要创建数据库中数据表
2、接着我们在“表”上面单击鼠标右键,然后点击“新建表”
3、然后,右边就会出现设计表的界面,这里可以设置表的字段名,类型,长度以及是否为null等
4、设计完数据表之后,点击“保存”按钮就OK了。
5、我们在其中输入表名就点击确定就可以了,表名可以根据自己的需求来设置
SELECT
a.xxx,
b.xxx
FROM A AS a Inner Join B AS b ON a.reid = b.reid
where ....
order by ...
mysql 两个表中的信息关联起来使用方法:
1、创建主表:
create table UserInfo(
UserID int identity(1,1) primary key, --递增主键
UserAccounts varchar(20),
UserName varchar(20),
UserPwd varchar(10));
2、创建附表(含外键)
create table News(
NewsID int identity(1,1) primarykey,
UserID int,
NewsTitle varchar( 50 ),
NewsRelease varchar( 200 ),
NewsReleaseTime datetime,
FOREIGN KEY (UserID) REFERENCES UserInfo(UserID)); --外键约束
如果附表已存在,但没外键,可采用以下方法:
alter table profession add constraint fk_prov_id foreign key(prov_id) references province(prov_id) on update cascade on delete cascade;