MySQL数据库(二)
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,#######################################Mysql-索引类型 索引类似于"书的目录" 索引的优点 加快查询的速度 索引的缺点 减慢写的速度(占用物理
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
网络技术快速入门
服务器有几颗cpu
极云网络安全吗
多媒体交换式管理服务器
产品 商品 数据库设计
网络安全etf能买吗
服务器被攻击 报警
数据库的安全保密设计方法
魔兽世界pvp普通服务器
联盟手游服务器查询
致橡树配乐软件开发
在线数据库怎么用
保定市网络安全服务人员
吉林最新网络安全
数据库表增加注释
金蝶软件开发师教程
江苏安卓智能产品软件开发
软件开发软件测试
互联网科技公司经营类目选择
如何自动启动数据库服务
江苏省青年网络安全知识竞赛
正在登录艾尔登法环游戏服务器
如何参与国家网络安全周
业务网络技术高手
干部落实网络安全
计算机与网络安全考研
农发行国家网络安全周新闻
宁阳软件开发项目
网络安全职业能力证书
知道服务器的ip