MySQL数据库(二)
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,#######################################Mysql-索引类型 索引类似于"书的目录" 索引的优点 加快查询的速度 索引的缺点 减慢写的速度(占用物理
千家信息网最后更新 2025年11月07日MySQL数据库(二)
#######################################
Mysql-索引类型
索引类似于"书的目录" 索引的优点 加快查询的速度 索引的缺点 减慢写的速度(占用物理存储空间) (1)普通索引 a.创建表时直接设置普通索引 create table stu( >age int, >name char(8), >index(age)); 给age字段创建普通索引,索引名为age show index from stu 查看索引 desc stu /age 字段的key 为MUL b.创建表之后给字段设置普通索引 create index name(索引名) on stu(age(字段名)); c.删除普通索引 drop index name on stu; (2)主键 主键特点:字段内不能有重复值,而且不能赋空值 如果表里已经有主键,不能在创建主键。 a.创建表时直接设置主键 create table stu( >age int, >name char(8), >primary key(name)); 给name字段创建主键 desc stu; /name字段的key为PRI b.创建表之后给字段创建主键 alter table stu add primary key(name); c.删除主键 alter table stu drop primaru key; /删除主键后,值可以重复,但不能赋空值 alter table stu modify name char(8); /如果想赋控制,继续修改字段 d.复合主键:多个字段一起做主键,字段的值不允许同时重复 create table stu( >port int, >cip char(15), >status enum("up","down") default "up" >primary key(port,cip)); 同时设置两个主键,不能一个一个设置 desc stu; insert into stu(port,cip) values(23,"1.1.1.1"); ok insert into stu(port,cip) values(24,"1.1.1.1"); ok insert into stu(port,cip) values(24,"1.1.1.2"); ok insert into stu(port,cip) values(24,"1.1.1.1"); 复合主键时,一个字段内的值可以重复,但不能多字段内的值同时重复 error e.主键与 auto_increment(自加1)连用 一般用于id序号 使用auto_increment 前提是必须要是主键且是数值类型 create table stu( >id int(2) zerofill primary key auto_increment, /int()里面表示显示宽度,不能够限制给字段赋值的大小,大小由类型决定。 zerofill 用0 补位 >port int); insert into stu(port) values(24); desc stu; select * from stu; +++++++++++ id port 01 24 +++++++++++ (3)唯一索引 unique 特点:字段可以赋空值,但不能出现重复 a.创建表时直接设置普通索引 create table stu( >age int, >name char(8), >unique index(name)); 给name字段创建唯一索引 desc stu; /name 字段的key 为 UNI b.创建表之后给字段设置唯一索引 create unique index name(索引名) on stu(name(字段名)); c.删除唯一索引 drop index name on stu;(4)外键作用:限制给字段赋值。值必须在指定字段值的范围里选择存储引擎必须为 innodba.创建表时直接设置主键 指定参考表 create table t1( >age int, >primary key(age) 参考表的参考字段要是索引的一种 >)engine=innodb; /设置表t1存储引擎为engine=innodb创建表t2 create table t1( >age int, >name char(8), >foerign key(age) references t1(age) 创建外键 >on update cascade 同步更新 >on delete cascade 同步删除 >)engine=innodb; /设置表t1存储引擎为engine=innodb 创建成功后 t2表的age字段的值必须在t1age字段的范围内,t1 age字段的值更新或者删除 t2表相应发生变化(更新或删除) b.创建表之后给字段创建主键 alter table stu add foreign key(age) references t1(age) on update cascade on delete cascade; c.删除主键 show create table t2; /查看建表过程 CONSTRAINT `t5_ibfk_1` FOREIGN KEY 找出t5_ibfk_1 alter table stu drop froeign key t5_ibfk_1; /删除外键。删除后t2表不再受约束。#############################################Mysql存储引擎
show engines; /查看存储引擎 默认为innodbmysql服务体系结构:(8个功能模块)连接池sql接口 分析器优化器查询缓存存储引擎文件系统管理工具存储引擎介绍:mysql数据库服务软件自带的程序。 不同的存储引擎有不同的功能和数据存储方式 是表的处理器 设置表的存储引擎:create table 表名(。。。。)engine=innodb;修改表的存储引擎alter table 表名 engine=存储引擎名;修改表的默认存储引擎/etc/my.cnfdefault-storage-engine=myisam myisam特点:表.MYI 索引信息表.MYD 数据表.frm 表结构支持表级锁 (锁一张表)不支持事务 事务回滚innodb特点:表.frm 表结构表.ibd 索引信息+数据支持行级锁 (只给当前被访问的行加锁) 支持事务 事务回滚锁的作用:解决并发访问冲突问题。锁类型 :读锁 和 写锁 select update delete insert事务: 一次数据访问从开始到结束的过程 称为事务事务回滚: 一次数据访问 任意一步执行失败,恢复所有操作。事务的特性: 一致性 原子性 隔离性事务日志文件:记录对innodb存储引擎的表执行过的操作。工作如何如何决定表使用的存储引擎:接收写操作多的表适合使用innodb存储引擎。接收读操作多的表适合使用myisam存储引擎
字段
索引
存储
引擎
事务
数据
普通
特点
类型
b.
c.
支持
同时
结构
a.
参考
更新
不同
作用
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器 BIOS 安全性
深圳市驰鸿网络技术有限公司
郑州软件开发有哪些方面
网络技术公司需要缴那些税
网页中访问后台数据库
管理软件开发是做什么
铜梁区电话网络技术服务内容
关系数据库有哪些缺点
计算机软件开发的杂志
软件开发企业成本结转办法
数据库为什么要创建触发器
航测服务器
最终幻想服务器玩家数
代理服务器 程序
网络技术实务分数线
服务器管理怎样可以快速
网络安全证书含金量排名
服务器字段有几个字符
北京融保网络技术有限公司
紫宸殿网络安全ppt
广东综合软件开发价格多少
阿里云服务器没有内网ip
枣庄商城软件开发服务公司
国防科技技术学院互联网
软件开发工期怎么算
计算机病毒查杀和网络安全
传输网络安全性保障措施
华为交换机ntp时钟服务器
服务器安全狗证书
udi数据库怎么编制