重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
初学数据库,记录一下所学的知识。我用的MySQL数据库,使用MySQL Workbench管理。下面简单介绍一下如何使用MySQL Workbench建立数据库,建立新的表,为表添加数据。
成都创新互联-专业网站定制、快速模板网站建设、高性价比清徐网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式清徐网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖清徐地区。费用合理售后完善,十多年实体公司更值得信赖。
点击上图中的“加号”图标,新建一个连接,
如上图,先输入数据库的账号密码,帐号默认为root,填好密码后 点击“OK”,连接就建立好了,建立完成后,会出现一个长方形的框框,双击它,出现下图所示页面
点击图中的红圈里的按钮,新建一个Schema,即数据库(个人理解。。),修改一下Name 的值,如 mydatabase ,点击apply,再点apply,然后点finish 如下图所示
数据库就建好了!!! 如图
接下来就是如何创建表,
首先要 !!!双击!!! 一下刚刚建立好的数据库mydatabase,然后再创建表,不然会出错,右键点击Tables 然后点击Create new tables ,填写表名,以及表列的信息,之后点击 apply ,一张表就建完了
PK: primary key (column is part of a pk) 主键
NN: not null (column is nullable) 是否为空
-UQ: unique (column is part of a unique key) 外键
AI: auto increment (the column is auto incremented when rows are inserted) 自动增加
BIN: binary (if dt is a blob or similar, this indicates that is binary data, rather than text) 二进制
UN: unsigned (for integer types, see docs: “10.2. Numeric Types”)
- ZF: zero fill (rather a display related flag, see docs: “10.2. Numeric Types”)
出现如下页面
接下来向建好的tb_student表中添加数据
右键点击tb_student,再点击select rows limit 1000
在mysql workbench中向数据库中的表中添加数据大致就是这个样子。
创建一个用户表和配置表的关联表,里面只需存用户id和配置表id即可,通过中间表实现不同用户配置不同
方法和操作步骤如下:
1、首先,创建一个测试表,如下图所示,然后进入下一步。
2、其次,插入测试数据,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,查询表中的数据,“select t.* from test_tbl2 t ”,如下图所示,然后进入下一步。
4、最后,完成上述步骤后,编写sql,两个表通过pid与id关联, “select t1.*, t2.* from test_tbl1 t1 join test_tbl2 t2 on t1.p_id = t2.id;”,如下图所示。这样,问题就解决了。
硬关联是建立 外键约束,把一个表的字段设置成外键,关联到其它表
foreign key(xxid) references table (id);
软关联是在 xxid上建立索引,在实际业务中进行数据绑定
来自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
两个表中的信息关联起来使用方法:
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;