数据库应用(3)
1.表格结构; 2.键值应用;
一, 表格结构
内容摘要: 约束条件; 表格结构的修改.
1. 约束条件
默认的约束条件类型: 有null(空),key(键值),default(默认值),extra(额外设置).使用desc 表名即可查看,例mysql>desc stu_info;
作用: 限制性地给表格字段赋值.
2.表格结构的修改
语法格式: alter table 库名.表名 执行动作(add, drop, modify, change, rename) after | first;
执行动作: add 增加字段, drop 删除字段, modify 修改字段类型, change 修改字段名, rename 修改表名.
mysql> alter table db1.stu_info add likes enum("eat","shopping","read","music") default "read" after age; //在age后面插入字段likes的内容.
mysql> alter table db1.stu_info drop name; //删除字段name
mysql> alter table db1.stu_info modify age int unsigned; //将age的字段类型由tinyint(3)修改为int;
mysql> alter table db1.stu_info change stu_num id_num varchar(50); //将字段名stu_num修改为id_num;
mysql> alter table stu_info rename school_info; //修改表名stu_info为school_info;
二, 键值应用
内容摘要: 键值概述; 主键应用; 外键应用.
1.概述
1.1 键值存在的意义: 约束字段赋值的方式.
1.2 根据数据存储的要求,键值的类型有:index 普通索引, unique 唯一索引, fulltext 全文索引, primary 主键, foreign key 外键.
1.3 什么是索引: 类似于书的目录;对表中字段值进行排序;索引类型包括Btree,B+tree,hash.
1.3.1 索引的优点: 加快数据查询速度,因为通过索引可确保数据在库中的唯一性.
1.3.2 索引的缺点: 数据需要增,删,改,查等操作时,索引也需要动态调整,降低了数据的维护速度,而且会占用物理空间.
2. 主键应用
2.1 索引的使用规则: index字段的标志为MUL; 一个表中可以有多个index标志; 字段的值可以重复,也可以赋null值; 通常把作为查询条件的字段设置为index.
2.1.2 语法格式: index(字段名),index(字段名),例:
2.1.3 在已有表格中创建索引: create index 索引名 on 表名(字段名);
2.1.4 删除索引: drop index 索引名 表名;
2.1.5 查看索引: show index 索引名 from 表 \G;
2.2 主键的使用规则: a.主键的使用标志是PRI,通常与auto_increment(自增长)连用;
b.一个表格只能有一个主键,且字段值不允许重复,不运行赋null值,通常将表中唯一标识字段设置为主键;
c.多个字段作为主键,称为复合键,必须一起创建.
2.2.1 初始创建: primary key(字段名) 例:
mysql> create table db1.t26(
-> name char(10) primary key auto_increment;
-> age int(11),
-> class char(9)
-> );
2.2.2 在已有表格中创建: alter table 库名.表名 add primary key(字段名);
2.2.3 删除主键: alter table 库名.表名 drop primary key;
2.2.4 创建复合主键: alter table 库名.表名 add primary key(字段名1,字段名2,字段名3...)
2.2.5 注意: 如果primary key 与auto_increment连用, 删除主键之前,必须先删除auto_increment.
例: alter table db1.t25 modify id int;
3. 外键应用
3.1 外键的功能: 插入记录时,字段值在另一表的字段范围内选择;即外键能使用两张不同的表产生关联,保障数据的同步一致,实现一些级联操作.
3.2 使用规则: 表存储类型必须是innodb,而且字段类型必须一致,被参照的字段必须是索引字段的一种,比如primary key.
3.3 创建外键的语法格式:
例:
mysql> create table yg(
-> yg_id tinyint primary key auto_increment,
-> name char(10)
-> )engine=innodb;
创建外键
3.4 删除外键: alter table 表名 drop foreign key 外键名. (外键名可以通过 show create table 表名 \G 查询得到 )
结束.
原文地址:https://www.cnblogs.com/liusingbon/p/11011354.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一个案例演示 Spring Security 中粒度超细的权限控制!
- 信息收集之主机发现:nmap
- 文本文件逐行处理–用java8 Stream流的方式
- 使用java8API遍历过滤文件目录及子目录及隐藏文件
- 使用位运算、值交换等方式反转java字符串-共四种方法
- 精讲RestTemplate第2篇-多种底层HTTP客户端类库的切换
- 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用
- 在图中添加多边形
- 设置坐标轴刻度的位置和样式
- OkHttp透明压缩,收获性能10倍,外加故障一枚
- 体验spring-boot-devtools热部署,流畅且不失强大
- 【每周一库】 simsearch - a simple and lightweight fuzzy search engine
- 手把手教你实现xxl-job分布式任务调度平台搭建
- 直播短视频源码,动态需要用到点击图片展示预览效果的功能
- Docker 详细部署不香吗?