MySQL数据库、Qt数据库、MySQLworkbench

1、Qt中的数据库编程:

1、在Qt中,所有和数据库编程相关的类都归在命名空间QSql中,这些类主要包含:QSqlDriver(数据库驱动)、QSqlDatabase(数据库)、QSqlQuery(数据库在线操作)

2、QSqlDriver(数据库驱动):

QSqlDriver(数据库驱动)是一个纯虚类,面向不同的数据库,实现不同数据库的存取方法,并向上一层代码提供一个统一的界面。

3、QSqlDatabase(数据库):完成与数据库的连接

1、addDatabase

2、isDriveAvailable...

4、QSqlQuery(数据库在线操作):进行SQL语句数据查询、数据处理的用户接口

1、QSqlQuery(构造函数)

2、prepare...

2、workbench的数据库编程:

1、workbench(SQL指令)

CREATE TABLE `StationHelper`.`stations` (
`sid` INT NOT NULL AUTO_INCREMENT,
`sname` VARCHAR(45) NOT NULL,
PRIMARY KEY (`sid`))
ENGINE = InnoDB;

2、MySQL数据库

预备知识:

1、数据库,schemas。MySQL的文档中指出,在物理上,模式与数据库是同义的。

2、table中详细信息nfo 标签显示了该数据表的表名、存储引擎、列数、表空间大小、创建时间、更新时间、字符集校对规则等信息;Columns 标签显示了该表数据列的信息,包括列名、数据类型、默认值、非空标识、字符集、校对规则和使用权限等信息

3、常用索引:index,普通索引,加速查找;primary key,主键索引,加速查找+约束(非空、不能重复);unique,唯一索引,加速查找+约束(不能重复)

index(id,name)联合普通索引;unique(id,name)联合唯一索引;primary(id,name)联合主键索引

不常用索引:全文索引FULLTEXT,实际使用

4、PrimaryKey等属性

PK:primary key 主键

NN:not null 非空 :勾选 NN 复选框时,该列为数据表的非空约束;取消勾选 NN 复选框时,则取消该列的非空约束。

UQ:unique 唯一索引 :勾选 UQ 复选框时,该列就是数据表的唯一约束索引;取消勾选 UQ 复选框时,则取消该列的唯一约束索引。

BIN:binary 二进制数据(比text更大)

UN:unsigned 无符号(非负数)

ZF:zero fill 填充0 例如字段内容是1 int(4), 则内容显示为0001

AI:auto increment 自增

MySQL Workbench 怎么数据库建模 mysqlworkbench怎么使用数据库_外键

MySQL Workbench 怎么数据库建模 mysqlworkbench怎么使用数据库_复选框_02

5、主键约束pk、外键约束: Foreign Keys 标签。

Foreign Key Name:外键名称; Referenced Table:关联的主表

Column:  选择外键字段;              Referenced Column: 选择主表的关联字段

6、外键的约束模式:

1.set null、 闲置模式:主表记录被删除或者更改,从表相关记录的外键置为null;

2.cascade、 级联操作:主表中删除或者更新了某条信息,从表中与该表记录有关的记录也发生改变

3.district、 严格模式    no action: 和district一样:当从表中有外键数据和主表关联,主表中该条记录就不能删除或者更新(父表不能删除或者更新一个被子表引用的记录)

7、多表之间 的关系分为三种:一对一,一对多,多对多。多表操作时通过添加外键来关联。