通用设定形式

定义一个字段的时候的类型的写法。

比如:

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)的更多相关文章

  1. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  2. Oracle 学习笔记 17 -- 异常处理(PL/SQL)

    程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正 ...

  3. 跟随我在oracle学习php(19)

    Order by子句 形式: order  by  排序字段1  [排序方式],  排序字段2  [排序方式], ..... 说明: 对前面取得的数据(含from子句,where子句,group子句, ...

  4. 跟随我在oracle学习php(18)

    修改表: 一般概述 通常,创建一个表,能搞定(做到)的事情,修改表也能做到.大体来说,就可以做到: 增删改字段: 增:alter  table  表名  add  [column]  字段名  字段类 ...

  5. 跟随我在oracle学习php(16)

    数据库的增删改查 增:create  database  [if  not  exists ] 数据库名  [charset  字符集]  [collate  字符排序规则]: 说明: 1,if  n ...

  6. 跟随我在oracle学习php(15)

    开发环境 独立开发环境:组成 Windows/Linux php Apache MySQL 集成开发环境:phpstudy wamp xammp 关系数据库: SQL: Struct Query La ...

  7. 跟随我在oracle学习php(14)

    CSS3的@keyframes用法详解: 此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识: keyfram ...

  8. 跟随我在oracle学习php(13)

    常用的css样式 [class~="col-6"]:选择我所有类名中包含有col-6独立单词的元素 [class*="col-"]:选择所有类名中含有" ...

  9. 跟随我在oracle学习php(12)

    DOM 文档对象模型 body:(什么时候)找到标签 操作标签找到标签:(都会返回一个js对象)document.getElementById() 通过iddocument.getElementsBy ...

随机推荐

  1. 【源码】HashMap源码及线程非安全分析

    最近工作不是太忙,准备再读读一些源码,想来想去,还是先从JDK的源码读起吧,毕竟很久不去读了,很多东西都生疏了.当然,还是先从炙手可热的HashMap,每次读都会有一些收获.当然,JDK8对HashM ...

  2. JS动态添加行列

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Add-Delete Row.a ...

  3. 标签EL和JSTL解读

    1. EL标签:出现代替输出:<%=%> EL输出格式(特点:只能输出,不带逻辑)  ${key值} 查找顺序:page,request,session,application **在不加 ...

  4. PID算法(c 语言)(转)

    PID算法(c 语言)(来自老外) #include <stdio.h> #include<math.h> //定义PID 的结构体 struct _pid { int pv; ...

  5. Gatling实战(二)

    在上一篇实战讲解了Gatling的用例,不过还没涉及到性能方面的内容,其实用例中的最后一句就和性能有关了 setUp(scn.inject(atOnceUsers(1)).protocols(http ...

  6. FUTABA 13-ST-84GINK + DS3231 时钟

    收拾东西的时候又看到之前收拾的vfd相关的盒子,偶然又加的群,又买了两种屏试水. 大的买屏还送vfd变压器,这玩意卖的少,一个5块,不买血亏!不知道什么时候开始早已没有DIY是省钱这种观念了.草... ...

  7. 读取本地json文件,并转换为dictionary

    // 读取本地JSON文件 - (NSDictionary *)readLocalFileWithName:(NSString *)name { // 获取文件路径 NSString *path = ...

  8. C#线程同步(3)- 互斥量 Mutex

    文章原始出处 http://xxinside.blogbus.com/logs/47162540.html 预备知识:C#线程同步(1)- 临界区&Lock,C#线程同步(2)- 临界区&am ...

  9. python3中argparse模块

    1.定义:argparse是python标准库里面用来处理命令行参数的库 2.命令行参数分为位置参数和选项参数:         位置参数就是程序根据该参数出现的位置来确定的              ...

  10. Angular4基本网络请求get、post方式

    1.在路径C:\AngularProject\AngularTest\src\app\app.module.ts这个文件下面引入 2.在需要用到的js文件引入 3.GET/POST  带参/不带参请求