mysql自学笔记七(Navicat Premium 15)

#常见的数据类型
/*
数值型:
				一、整型:TINYINT、SMALLINT、MEDIUMINT、int/INTEGER、BIGINT(字节数从左到右:1 2 3 4 8 )
				特点:
						①如果不设置无符号数还是有符号,默然是有符号的,如果想设置无符号的,需要添加unsigned关键字
						②如果插入的数值超过了整型的范围,会报out of range 异常,并且插入临界值
						③如果不设置长度,会有默认的长度,长度代表着下面是的最大宽度,如果不够会用0在左边填充,搭配zerofill使用

				二、小数:
								定点数:DEC、DECIMAL
								浮点数:float、double(字节数从左到右:4 8)
字符型:
				较短的文本:char、varchar
				较长的文本:test、blob(较长的二进制文件)

日期型:
*/

#小数说明
f(M,D)
create table test(
		f1 FLOAT(5,2),  #整数部分和小数部分和为5,小数部分不超过2
		f2 double(5,2),
		f3 DECIMAL(5,2)
#DECIMAL默认M为10,D默认为0,如果是float和double则会根据插入的数值决定精度

#定点型相对而言精确度高点,如果要求插入数值的精确度较高如货币运算等则考虑使用
)

#原则
/*
所选择的类型越简单越好,能保存数值的类型越小越好
*/

#字符型
/*
特点:

				   写法  		  M的意思          特点        空间耗费  效率
char      char(M)    最大的字符数,可以省略,默认为1   固定长度的字符  比较耗费   高
varchar  varcahr(M)  最大的字符    可变长度的字符  比较节省   低

枚举:
			f1 ENUM('a','b','c') #枚举只能选一个插入
集合:
			f1 SET('a','b','c','d') #集合可以选择多个插入

*/

#日期型:
/*
分类:
date 只保存日期
time 只保存时间
year 只保存年份

datetime 保存 日期-时间
timestamp 保存 日期+时间

特点:

           字节       范围      时区等的影响
datetime    8      1000——9999       不受
timestamp   4      1970——2038        受

*/


#常见约束
/*

含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性

分类:六大约束
			not null:非空,用于保证该字段的值不能为空
				比如姓名、学号等
			DEFAULT:默认,用于保证该字段有默认值
				比如性别
			PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
				比如学号、员工编号等
			UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
				比如:座位号
			CHECK:检查约束【mysql中不支持】
				比如年龄、性别
			FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
				在从表添加外键约束,用于引用主表中的某列的值
				比如学生表的专业编号、员工表的部门编号,员工表的工种编号
				
添加约束的时机:
			1、创建表时
			2、修改表时

添加约束的分类:
			列级约束:
							六大约束语法上都支持,但外键约束没有效果
							语法:直接在字段名和类型后面追加约束类型即可
			表级约束:
							除了非空、默认,其他都支持
							语法:各个字段的最下面
							constraint 约束名 约束类型 (字段名)
							
主键和唯一性的大对比:
				保证唯一性  是否允许为空  一个表中可以有多个  是否允许组合
主键				√           ×								至少有一个   √,但不推荐
唯一				√						√								可以有多个   √,但不推荐

外键:
			1、要求在从表设置外键关系
			2、从表的外键列的类型和主表的关联列的类型要求一致或兼容,名称无要求
			3、主表的关联列必须是一个key(一般是主键或唯一键)
			4、插入数据时,先插入主表再插入从表;删除数据时,先删除从表再删除主表

*/

#通用写法:
create table if exists stuinfo(
			id int PRIMARY KEY,
			stuname VARCHAR(20) not null,
			sex char(1),
			age int default 18,
			seat int UNIQUE,
			majorid int,
			CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)
);

/*
标识列

又称为增长列
含义:可以不用手动的插入值,系统提供默认的序列值

特点:
1、标识列必须和主键搭配吗?不一定但是要求同一个key
2、一个表可以有几个标识列?至多一个
3、标识列的类型只能是数值型
4、标识列可以通过 set auto_increment_increment=3;设置步长 可以通过 手动插入值,设置起始值

*/

#TCL
/*
事物控制语言

事物:
一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。


事物的特性:
ACID
原子性:一个事务不可在分割,要么都执行要么都不执行
一致性:一个事务执行会使数据从一个一致状态切换到另外一个一致状态
隔离性:一个事务的执行不受其他事务的干扰
持久性:一个事务一旦执行,则会永久的改变数据库的数据

事务的创建
隐式事务:事务没有明显的开启和结束的标记
比如:insert、update、delete语句

显式事务:事务具有明显的开启和结束的标记
前提:必须要先设置自动提交的功能为禁用

set autocommit=0; 只针对当前事务有效

步骤1:开启事务
set autocommit=0; 必须的
start transcation; 可选的
步骤2:编写事务中的sql语句(一般指select insert update delete)
语句1;
语句2;
......

步骤3:结束事务
commit; 提交事务
rollback; 回滚事务

事务的隔离级别:

										脏读  不可重复读 幻读
read uncommitted:		√      √        √
read committed:			×      √        √
repeatable read:			×      ×        √
serislizable:				×      ×        ×

mysql中默认 第三个隔离级别 repeatable read
oracle中默认 第二个隔离级别 read committed

查看隔离级别
select @@tx_isolation;
设置隔离级别
set session|global transaction isolation level 隔离级别;

*/
show VARIABLES like 'autocommit';
show engines;

#演示事物的使用步骤

#开启事务
set autocommit=0;
start TRANSACTION;
#编写一组事务的语句
update account set balance=1000 where username='张无忌';
update account set balance=1000 where username='赵敏';

#结束事务
ROLLBACK;
#COMMIT;

select * from account;

#查看隔离级别
select @@tx_isolation;


#建表语句
create table account(
id int PRIMARY key auto_increment,
username varchar(20),
balance DOUBLE
)ENGINE=INNODB DEFAULT CHARSET='utf8';

insert into account(username,balance)
VALUES ('张无忌',1000),('赵敏',1000);

#演示savepoint的作用
set autocommit=0;
start transaction;
delete from account where id=1;
SAVEPOINT a; #设置保存点
delete from account where id=7;

ROLLBACK to a; #回滚到保存点

select * from account;


#delete和truncate在事务使用时的区别

		#演示delete
		set autocommit=0;
		start transaction;
		delete from account;
		rollback; #delete可以回滚

		#演示truncate
		set autocommit=0;
		start transaction;
		TRUNCATE table account;
		rollback; #truncate不可以回滚
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要连接MySQL数据库,首先需要打开Navicat Premium 15软件。然后,点击“新建连接”按钮,选择MySQL作为数据库类型。接下来,填写MySQL服务器的IP地址、端口号、用户名和密码等信息。如果需要加密连接,还需要选择SSL选项。最后,点击“测试连接”按钮,确认连接成功后,就可以开始使用Navicat Premium 15连接MySQL数据库了。 ### 回答2: Navicat Premium 15是一种数据库管理工具,可以帮助用户连接多种数据库,包括MySQL。如果要连接MySQL,需要按照以下步骤操作: 第一步:安装Navicat Premium 15 首先,用户需要在自己的计算机上安装Navicat Premium 15。可以从Navicat官方网站下载安装程序,然后按照提示进行安装。 第二步:创建MySQL连接 打开Navicat Premium 15后,点击“连接”按钮,进入连接管理器。在连接管理器中,可以看到已经存在一些默认的连接,也可以自己创建新的连接。如果要创建MySQL连接,需要点击“新建连接”按钮,然后填写以下信息: - 连接名称:可以自定义,方便识别。 - 连接类型:选择“MySQL”。 - 主机名/IP地址:填写MySQL数据库所在的主机名或IP地址。 - 端口号:填写MySQL数据库的端口号,默认为3306。 - 用户名:填写MySQL数据库的用户名。 - 密码:填写MySQL数据库的密码。 - 数据库:选择要连接的MySQL数据库,如果没有可以先不选,稍后手动选择。 填写完上述信息后,点击“测试连接”按钮,Navicat Premium 15会尝试连接数据库。如果连接成功,会弹出提示框。如果连接失败,可以检查填写的信息是否正确,或者检查网络环境是否畅通。 第三步:开始使用Navicat Premium 15操作MySQL数据库 连接MySQL数据库成功后,就可以使用Navicat Premium 15来操作MySQL数据库了。Navicat Premium 15提供了丰富的功能,例如创建、编辑、删除数据库、表、视图、存储过程等,还可以执行SQL语句、备份、还原等操作。用户可以根据自己的需要,灵活地使用Navicat Premium 15来管理MySQL数据库。 ### 回答3: Navicat Premium 15 是一款非常流行的数据库管理工具。它可以连接多种数据库,包括 MySQL 数据库。下面是如何使用 Navicat Premium 15 连接 MySQL 的步骤: 1. 首先,你需要在你的计算机上安装 Navicat Premium 15 软件和 MySQL 服务器。 2. 打开 Navicat Premium 15,点击左上角 “新建连接” 按钮。在弹出的对话框中,选择 MySQL 作为数据库类型。 3. 输入数据库连接信息:主机名、端口号、用户名和密码。如果你在本地使用 MySQL 服务器,主机名可以是 “localhost”。 4. 在下方的 “高级选项” 中,你可以设置其他选项,比如使用 SSH 加密连接、自定义字符集等。 5. 点击 “测试连接” 按钮,检查连接是否成功。如果连接成功,将会显示一个绿色的提示框。 6. 点击 “保存连接” 按钮,保存连接设置。现在你可以在 Navicat Premium 15 中打开连接,并开始管理 MySQL 数据库了。 总之,使用 Navicat Premium 15 连接 MySQL 非常简单。只需要输入一些连接设置,就可以轻松连接到 MySQL 服务器,管理和查询数据库了。该软件还支持许多其他功能,包括数据导入和导出、数据备份、查询构建器等等。如果你需要更多的帮助和支持,可以查看 Navicat Premium 15 的官方文档和论坛。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

友培

数据皆开源!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值