MYSQL基本使用

下载https://dev.mysql.com/downloads/mysql/
MySQL本来是完全免费的产品,被Oracle收购后,现在分为3个不同的版本:
MySQL企业版,收费或者试用
MySQL社区版,免费的
MySQL高级集群版,收费

MySQL经典版,老版本,免费
在线安装

需要网络支持

  • 选择安装类型,这里选择使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LIMsMRp2-1652781611738)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220517174817128.png)]

  • 选择需要安装的产品和特征

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GsVmcfa-1652781611739)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220517174848146.png)]

  • 开始执行环境配置

绿色安装

解压压缩文件mysql-8.0.15-winx64.zip,将解压得到的目录可以移动到任何位置

执行初始化操作,首先进入mysql的bin目录,在cmd窗口中执行命令

mysqld --initialize --console

注意:如果data目录已经存在,则需要删除data目录后再执行命令

在执行初始化操作过程中会显示一个临时生成的口令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UitWd1Gf-1652781611740)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220517174946878.png)]

使用 mysqld --install 将mysql添加到系统服务中,默认当机器启动时会自动启动mysql服务

使用net start mysql启动数据库服务

使用命令 mysql -uroot -p 打开客户端连接已经启动的数据库服务,这里需要输入上面生成的临时口令

修改口令 alter user root@localhost identified with mysql_native_password by 新口令

关闭服务器 net stop mysql

删除mysql系统服务 mysqld --remove

常用命令

启动客户端:在bin目录下 mysql -uroot -p123456

命令格式为: mysql -u用户名 -p口令 -P端口号 -h主机名称 。在实际应用中,不建议直接使用-p口令的这种格式

如果正常启动,则可以看到命令提示符 mysql>

如果需要在任意目录都可以打开客户端,则需要将bin的绝对目录添加到path系统环境变量中

查看所有的数据库 show databases;

注意information_schema、mysql、sys、performance_schema都属于系统数据库,不要直接操作这些数据库

切换当前数据库 use 数据库名称;

查看当前数据库下的所有数据表 show tables;

查看某个数据表的结构定义 desc 数据表名称;

放弃正在输入的命令 \c

显示命令清单 \h

退出客户端 \q ,也可以使用 exit 或者 quit

查看服务器的状态信息 \s

退出客户端 quit

SQL语句

在MySQL中可以将SQL分为4大类

  • DDL数据定义语言,create创建、alter修改、drop删除、truncate截断
  • DML数据操纵语言,insert插入、update修改、delete删除
  • DQL数据查询语言,select查询
  • DCL数据控制语言,grant授权、revoke回收权限

DDL数据定义语言

用于定义数据库对象的操作语句

数据库操作

创建操作

语法规则 create database 数据库名称 default character set utf8 ,一般默认编码字符集为latin1

create database test default character set utf8; -- 创建数据库,名称为test,默认 编码字符集为utf-8 -- 如果数据库已经存在,则再次创建会报错
create database if not exists test default character set utf8; -- 如果test已经 存在则不执行创建操作,同时不会报错

如果数据库创建成功,则自动在数据文件夹data下新增一个test目录

删除操作

语法规则 drop database 数据库名称;

drop database test; -- 删除指定数据库;如果数据库不存在则报错 
drop database if exists test; -- 如果存在则删除,如果不存在也不报错

查看所有数据库 show databases;

mysql中允许同时打开多个数据库,不同的数据库管理系统不一样

切换当前数据库 use 数据库名称;

use test; -- 如果数据库存在则切换到指定的数据库test下进行操作;如果不存在则报错

查看当前操作的数据库

select database();

查看数据库的创建语句

show create datbase test;

默认系统数据库

系统数据库就是供DBMS使用的数据库,如果损坏则会导致DBMS无法正常启动,所以一般不建议直接操作

  • information_schema记录所有数据库和数据库中表的信息
  • mysql记录时区、权限之类的配置信息
  • sys保存和锁、统计相关的信息
  • performance_schema用于实现对运行过程的资源的使用情况的统计

test非系统数据库,仅供测试样例

数据表的操作

创建数据表基本语法: create table 数据表的名称(数据列的名称 数据类型 约束规则,…)engine=

存储引擎名称 default charset utf8;

create table tb_student( -- 这里可以加入if not exists表示不存在时才进行创建。注意 在一个数据库中的表名称不允许重复。按照阿里的规范,要求基表名称必须使用【tb_表】 
    id bigint primary key auto_increment, 
    name varchar(20) not null,
    sex boolean default 1 -- 在mysql数据库中有一些属性数据类型的别名 ) 
    engine=innodb default charset utf8; -- 实际上从MySQL5.5开始默认存储引擎就是 innodb,但是一般建议还是添加上存储引擎的设置

数据表创建完成,则会发现在data/test目录下出现一个文件tb_student.ibd

一般使用的存储引擎engine常见的有innodb和myisam两种,如果使用myisam则会创建两个文件,

1、.myd数据信息文件,其中包含表的数据;2、.myi索引信息文件,是用于提高查询效率的索引数据

查看表中的列定义 desc tb_student;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JgCp5ohi-1652781611741)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220517175724943.png)]

查看具体的列定义 show create table tb_student;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hYPxtneL-1652781611741)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220517175744781.png)]

标识符命名

数据库涉及的字符规范,注意不是语法规则,属于建议性质的规则

  • 采用a-z英文字母、数字0-9和下划线_组成,共63个字符,不能出现其他字符,除非是注释

    • 不区分大小写
    • 使用中文字符实际上是不会有语法错误的,但是不建议
  • 一般命名长度不要超过30个字符的系统限制,变量名称由于需要使用@标识符,所以长度限制为29

  • 数据库对象、变量的命名都采用英文字符,禁止使用中文命名,绝对不允许在对象名称中间出现空格

    • 如果在命名过程中破坏规则实际上引入反引号就好,注意不是单引号
    • create table t 1(id int);
  • 小心保留字,尽量保证命名中不采用保留字,避免容易产生冲突

  • 注意开发中字段名称和类型名称的一致性

QT是一种基于C++的开发框架,支持跨平台的GUI应用程序开发。MySQL是一种免费开源的关系型数据库管理系统。QT提供了方便的MySQL接口类,使得我们可以轻松地把QT应用程序与MySQL数据库进行整合。 QT中主要使用QSqlDatabase类来连接MySQL数据库。使用时需要首先在QT工程中包含QtSql库。然后在代码中使用QSqlDatabase类进行连接,如下所示: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //设置主机名 db.setPort(3306); //设置端口 db.setDatabaseName("mysql"); //设置数据库名称 db.setUserName("root"); //设置用户名 db.setPassword("123456"); //设置密码 在连接成功后,我们可以使用QSqlQuery类进行SQL语句的执行和结果的获取,如下所示: QSqlQuery query; query.exec("SELECT name FROM student"); //执行SQL语句 while (query.next()) { //循环遍历数据 QString name = query.value(0).toString(); //获取name字段的值 qDebug() << "name:" << name; } 除了基本的SQL查询,QT还提供了许多便捷的API,例如QSqlTableModel、QSqlRelationalTableModel和QSqlQueryModel等类,可以更加方便地实现数据的增删改查等操作。此外,QT还提供了QSqlRelationalDelegate类和QSqlRelationalMapper类等类,可以方便地实现表格的外键关联和图形界面控件与数据库表的绑定。 总之,QT和MySQL的结合,可以让我们更加方便地实现数据的存储、读取和处理,大大提高了开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值