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

原文地址:https://www.cnblogs.com/yinminbo/p/11789474.html

时间: 2024-10-09 21:17:12

MySQL数据库 Qt数据库、MySQLworkbench的相关文章

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

Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一下怎样在Qt Creator中添加数据库驱动插件.在讲述之前,我们先看一下Qt Creator中数据库的插件到底放在哪里. 我们进入Qt Creator的安装目录,然后进入相对应的文件夹下,比方我这里是 D:Qt2010.02.1qtpluginssqldrivers 在这里我们可以看见几个文件,如

mysql导入导出数据库(转)

很多时候,我们的数据开发都会用到很多开发利器,比如powerdesigner, navicat等这些软件,虽然好用,但是要收费,在公司里面是禁止使用盗版软件的,怕罚款各方面的,所以我们也不敢直接在公司的机子上装破解版,这个时 候,如果我们要导入或者导出sql语句怎么办,虽然也有免费的软件如mysql-workbench的存在,但是不好用啊,操作复杂麻烦,要说好处吧,个 人觉得就是记住密码和ip地址用户名这些方便咯,当然实际上它还是很强大的. 好吧,言归正传,其实,最简单的方法,就是直接使用mys

QT开发(四十六)——QT数据库编程基础

QT开发(四十六)--QT数据库编程基础 一.Qt SQL模块简介 1.Qt SQL模块简介 QT通过Qt SQL模块提供了对SQL数据库的支持,Qt SQL模块中的API分为三层:驱动层.SQL接口层.用户接口层. 如果要使用Qt SQL模块中的类,需要在工程文件(.pro文件)中添加QT += sql代码. 2.驱动层 驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁,主要类包括Qt SQL模块中的QSqlDriver.QSqlDriverCreator.QSqlDriverCreat

mysql/sqlser/oracle数据库驱动的写法

oracle数据库:  driver="oracle.jdbc.driver.OracleDriver" url = "jdbc:oracle:thin:@地址:端口:数据库名" mysql数据库: driver="com.mysql.jdbc.Driver" url = "jdbc:mysql://地址:端口/数据库名?user=root&password=root&useUnicode=true&charac

10. mysql 导入导出数据库

linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命令 (注:如果没有此命令,在mysql的安装路径,执行此命令): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql # mysqldump -uroot -p abc > /'path'/abc.sql 注:敲回车后会提示输入密码 2.只导出表结构 mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql #mysqldump -uroot

mysql基础和数据库的优化

Mysql基础... 4 Mysql介绍... 4 登录mysql mysql –u root –p[掌握]... 4 SQL语言... 4 DCL. 4 grant. 4 revoke. 4 DDL. 4 建库... 4 删库... 4 建表... 4 看表结构... 5 删表... 5 修改表... 5 DML[重点]... 5 增加... 5 删除... 5 修改... 5 查看... 5 排序... 5 总数... 5 求和... 5 平均... 6 最大... 6 最小... 6 表连

Java 调用Mysql dump 备份数据库

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); try { String name = sdf.format(new Date()); String filePath = System.getProperty("user.dir") + "//" + name + ".sql"; // 系统执行器 Runtime rt = Runtime.getRu

基于sqlite的Qt 数据库封装

[代码] mydata.h 10 #ifndef MYDATA_H 11 #define MYDATA_H 12 #include <QObject> 13 #include <QString> 14 #include <QtSql/QSqlTableModel> 15 #include <QtSql/QSqlQuery> 16 #include <QStringList> 17 #include <QtSql/QSqlDatabase&g

mySQL (关系型数据库管理系统)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问