跟随我在oracle学习php(17)
通用设定形式
定义一个字段的时候的类型的写法。
比如:
create table tab1 (f1 数据类型 );
数据类型: 类型名[(长度n)] [unsigned] [zerofill]
长度n: 表示的意思是该数字的“显示形式上的长度”,
unsigned:设定为“无符号”数,则此时不能存储负数,正数几乎加倍。
zerofill:填充0,是指如果一个数字的长度不够指定长度的时候,可以在左边填充0以补到该长度。
注意: 如果设置了zerofill,则自动也就表示同时具备了unsigned修饰的含义
字段属性设置
not null: 不为空,表示该字段不能放“null”这个值。不写,则默认是可以为空
auto_increment: 设定int类型字段的值可以“自增长”,即其值无需“写入”,而会自动获得并增加
此属性必须随同 primary key 或 unique key 一起使用。
[primary] key: 设定为主键。是唯一键“加强”:也不能重复并且不能使用null,并且可以作为确定任意一行数据的“关键值”,最常见的类似:where id= 8; 或 where user_name = ‘zhangsan’;
通常,每个表都应该有个主键,而且大多数表,喜欢使用一个id并自增长类型作为主键。
但:一个表只能设定一个主键。
unique [key] : 设定为唯一键:表示该字段的所有行的值不可以重复(唯一性)。
default ‘默认值’: 设定一个字段在没有插入数据的时候自动使用的值。
comment ‘字段注释’:
create table login(
Id int auto_increment primary key,
Name varchar(10) comment '这是姓名',
Age char(1) default '1'
);
索引设置
什么是索引:
索引是一个“内置表”,该表的数据是对某个真实表的某个(些)字段的数据做了“排序”之后的存储形式。
其作用是:极大提高表查找数据的速度!——其效率(速度)可以匹敌二分查找。
注意:索引在提供查找速度的同时,降低增删改的速度。
对创建(设计)表来说,建立索引是非常简单的事,形式如下:
索引类型 (字段名1,字段名2, .... ) //可以使用多个字段建立索引,但通常是一个
有以下几种索引:
普通索引:key(字段名1,字段名2, .... ):它只具有索引的基本功能——提速
唯一索引:unique key (字段名1,字段名2, .... )
主键索引:primary key (字段名1,字段名2, .... )
全文索引:fulltext (字段名1,字段名2, .... )
约束设置
什么叫约束:约束就是一种限定数据以符合某种要求的形式(机制)
约束主要有:
主键约束:primary key (字段名1,字段名2, .... )
其实就是主键索引,也是主键属性。即primary key有3个角度的理解(说法):字段属性设置为主键,或建立的主键索引,或设定一个主键约束,但他们的本质是一样
唯一约束:unique key (字段名1,字段名2, .... ),其实也是“3体合一”(类似primary key)
外键约束:
什么叫外键:就是设定一个表中的某个字段的值,必须“来源于”另一个表的某个主键字段的值。
语法形式:
foreign key (字段名1,字段名2, .... ) references 表名2(字段名1,字段名2, .... )
说明:
对某个(些)字段设定外键,则其相对应的其他表的对应字段需要设置为主键。
exp:
drop table user;
create table user(
Name1 varchar(10) primary key
);
drop table login;
create table login(
Id int auto_increment primary key,
Name varchar(10) comment '这是姓名',
Age char(1) default '1',
Foreign key (name) references user(name1)
);
表选项
表选项就是对一个表的有关属性的设定,通常都不需要。如果不设定,则有其默认值。
有以下几个可用:
comment = ‘表的注释’;
charset = 字符编码名称; //跟数据的字符编码设定一个意思。
字符编码设定的范围及继承关系:
系统级设定:安装时确定了。
库级设定:建库时设定;
表级设定:就是这里的charset = 字符编码名称
字段级设定:作为字段属性出现。
他们都只对“字符类型”的字段有效。每一级如果没有设定,就会“继承使用”其上一级的设定。
auto_increment = 起始整数; //自增长类型值的初值,默认是1
engine = “表的存储引擎名”; //
存储引擎就是将数据存入硬盘(或其他媒介)的方式方法。通常就几个可用,默认是InnoDB
存储引擎决定一个数据表的各方面的信息:功能和性能。
跟随我在oracle学习php(17)的更多相关文章
- Oracle学习系列1-7
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
- Oracle 学习笔记 17 -- 异常处理(PL/SQL)
程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正 ...
- 跟随我在oracle学习php(19)
Order by子句 形式: order by 排序字段1 [排序方式], 排序字段2 [排序方式], ..... 说明: 对前面取得的数据(含from子句,where子句,group子句, ...
- 跟随我在oracle学习php(18)
修改表: 一般概述 通常,创建一个表,能搞定(做到)的事情,修改表也能做到.大体来说,就可以做到: 增删改字段: 增:alter table 表名 add [column] 字段名 字段类 ...
- 跟随我在oracle学习php(16)
数据库的增删改查 增:create database [if not exists ] 数据库名 [charset 字符集] [collate 字符排序规则]: 说明: 1,if n ...
- 跟随我在oracle学习php(15)
开发环境 独立开发环境:组成 Windows/Linux php Apache MySQL 集成开发环境:phpstudy wamp xammp 关系数据库: SQL: Struct Query La ...
- 跟随我在oracle学习php(14)
CSS3的@keyframes用法详解: 此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识: keyfram ...
- 跟随我在oracle学习php(13)
常用的css样式 [class~="col-6"]:选择我所有类名中包含有col-6独立单词的元素 [class*="col-"]:选择所有类名中含有" ...
- 跟随我在oracle学习php(12)
DOM 文档对象模型 body:(什么时候)找到标签 操作标签找到标签:(都会返回一个js对象)document.getElementById() 通过iddocument.getElementsBy ...
随机推荐
- linux 命令中英文对照,收集
linux 命令中英文对照,收集 linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...
- vue的三种通信方式
一 确定组件关系二 使用第一步确定的组件关系在下面找到使用方法 1 父子通信(子组件使用父组件数据渲染) a) 在 子组件 中添加props props: [自定义prop名字] b) 在子组件中把自 ...
- Java的流
Java中的流主要是用来读写文件的.只要明确你是读文件还是写文件就可以确定使用哪种流了.读:read 写:writer 1.读文件:filereader这个类,顾名思义就知道是读文件了. 2.写文 ...
- 加域电脑登陆系统后桌面文件丢失,登录系统提示用户名为“Temp”。
注册表中定位到“HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\ProfileList”, ...
- ElasticSearch(十一)Elasticsearch清空指定Index/Type数据
POST /index_name/type_name/_delete_by_query?conflicts=proceed { "query": { "match_all ...
- raphael参数说明
大纲 :first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-pr ...
- MySQL:Download Connector/Python
MySQL Connector / Python是用于Python平台和开发的标准化数据库驱动程序. 此外,MySQL Connector / Python 8.0支持使用MySQL Server 8 ...
- Typora 和 markdown
目录 Typora 和 markdown Typora 简单介绍 markdown语法 导出 Typora 和 markdown Typora 简单介绍 支持markdown的一款优雅的编辑器. 绿色 ...
- matlab 入门
---恢复内容开始--- 1.cast表示将元素转化成对应的ASCII值 如cast('hellothere','uint8')输出结果为104 101 108 108 111 116 104 101 ...
- 他山之石,calling by share——python中既不是传址也不是传值
事情是这样的,Python里是传址还是传值令人疑惑,限于本人没有C基础,所以对大家的各类水平层次不一的解答难以确信. 第一个阶段: 在读<python基础教程第二版>的时候感到疑惑,然后群 ...