MySQL数据库 Qt数据库MySQLworkbench

Posted 石斛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库 Qt数据库MySQLworkbench相关的知识,希望对你有一定的参考价值。

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 自增

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



以上是关于MySQL数据库 Qt数据库MySQLworkbench的主要内容,如果未能解决你的问题,请参考以下文章

QT连接MYSQL数据库教程

Qt添加驱动——Qt数据库之添加MySQL驱动插件

Qt添加驱动——Qt数据库之添加MySQL驱动插件

QT5连接Mysql

Qt 连接MySQL数据库(很多相关文章)

QT6.0+mysql8.0+VS2019连接数据库