DDL-数据表的创建
来源:互联网 发布:人类学 知乎 编辑:程序博客网 时间:2024/05/21 20:29
-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据表,数据表的创建-- 切换数据库use mydatabase;-- 删除数据表drop table test;-- CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],-- 属性名 数据类型 [完整性约束条件],-- ) [字符集];-- 创建数据表create table test (-- 主键(主键约束) primary key 唯一的约束该字段里面的数据,不能重复,不可为空-- 自增 AUTO_INCREMENT 自增长字段必须是数字,且为键。一张表最多只能有一个自增长 使用:不写,null,defaultid int primary key auto_increment ,-- 自动生成唯一值id serial,-- 唯一性(唯一约束)unique/unique key 字段具有唯一性,数据不能重复tname VARCHAR(20) unique, -- varchar:可变长度字符串类型-- 非空约束 not nulltbirth date not null,-- date:日期类型,格式为:yyyy-MM-dd;-- 浮点型:超出指定范围,会丢失精度,自动四舍五入-- 当插入数据时,整数部分是不能超过长度的,但小数部分可以,四舍五入。因为四舍五入二导致整数部分超出指定的长度,系统也运行成立tsal double(5,2), -- double:双精度浮点数,例如double(5,2)表示最多5位,其中必须有2位小数 8字节tcomm float(5,2), -- float:单精度浮点数,用法同double,不加括号表示没有小数部分 4个字节-- 定点型:绝对的保证整数部分不会被四舍五入,不会丢失精度,理论上小数部分也不会丢失精度。-- 整数部分不能超出长度,小数部分长度可以随意超出,四舍五入。定点数长度溢出,是不会进位的,会报错tmoney DECIMAL(5,2), -- DECIMAL/DEC(M,D):定点数类型,用法同浮点型,M+2个字节-- 日期与时间类型ttime time, -- time:时间类型,格式为:hh:mm:sstdate date, -- date:日期类型,格式为:yyyy-MM-ddtdatetime datetime, -- datetime:日期时间类型 yyyy-MM-dd hh:mm:sstyesr year(2), -- year: 年份类型, 格式为:YY year(2)或YYYY year(4)tstamp timestamp, -- timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值-- 字符串类型tchar char(20), -- char:定长字符串,磁盘在定义结构的时候,就已经确定了最终数据的存储长度 -- char(L)在UTF8环境下,需要L*3=12个字节 L最大为255 -- 定长的磁盘空间比较浪费,但效率高。如果数据基本上确定长度一样,就使用定长 tvarchar varchar(20), -- varchar:变长字符串,在分配空间的时候,按照最大的空间分配,但实际最终用了多少,是根据具体的数据来确定的 -- varchar(L) utf8环境下,大小为L*3+1(byte).理论长度是65536个字符,但会多出1~2个字节来确定存储的实际长度 -- 变长的磁盘空间比较节省,但效率低,如果数据不确定长度(不同数据有变化),就使用变长 ttext text, -- text:文本字符串(储存文字),如果数据量非常大,通常说超过了255个字符,就用文本字符串tblob blob, -- blob:文本字符串(存储二进制数据)-- 枚举:在进行数据规范的时候,系统会自动建立一个数字和枚举元素的对应关系,放到日志中-- 再进行数据插入的时候,系统自动将字符转换成对象的数字,提取数据的时候,自动将数值转换为字符串 编号从1开始gender enum('男','女') DEFAULT '男',-- 集合字符串:和枚举类似,实际存储的是数字,不是字符串。tset set('男','女') default'男' -- 集合中的每一个元素都对应一个二进制位,将他们反过来,就是对应的十进制的数字。-- default:默认值,在数据进行插入的时候,不给该字段赋值,直接使用DEFAULT代替值-- comment:专门用来描述字段,会根据表创建语句保存。用来给程序猿进行了解的。-- foreign key:外面的键,键不在自己表中。如果一张表中有一个字段指向另外一张表的主键,那么该字段称之为外键-- foreign key(外键字段) references 外部表(主键字段)-- foreign key (ttext) references tuser(id)-- primary key(主键字段列表)来创建联合主键。)charset utf8;-- 追加主键-- alter table 表名 add primary key(字段列表)alter table t2 add primary key (id);-- 修改表字段属性-- alter table 表名 modify 字段名 数据类型 primary keyalter table t2 modify id int primary key; -- 删除主键 (主键不可更新)-- alter table 表名 drop primary keyalter table t2 drop primary key ;-- 追加外键 -- alter table 表名 add [constraint 外键名字] foreign key (外键字段) references 父表(主键字段);ALTER TABLE t1 ADD CONSTRAINT k_1 FOREIGN KEY (uid)REFERENCES test(id);ALTER TABLE t1 ADD FOREIGN KEY (uid)REFERENCES test(id);-- 删除外键-- alter table 表名 drop foreign key 外键名字ALTER TABLE t2 DROP foreign KEY t_k;-- 新建一张表t2,同时将另一张表的数据t1复制进去CREATE TABLE t2 AS SELECT * FROM t1
阅读全文
0 0
- DDL-数据表的创建
- mysql查看创建数据表的DDL语句
- 使用ERStudio6创建数据表ER图并导出数据表的SQL(DDL)语句
- 使用ERStudio6创建数据表ER图并导出数据表的SQL(DDL)语句
- 用JSP导出ORACLE的数据表DDL
- 数据表的创建
- SQl DDL-数据库的创建
- DDL-操作数据表
- 数据表的基本操作之创建数据表
- 关于创建数据表的设想
- 创建数据表的一种方法
- 数据表的创建与管理
- 数据表的创建与管理
- 数据库、数据表的创建详细
- 数据表的创建与管理
- oracle 获取创建表的ddl
- MySql学习--数据表的基本操作--创建数据表
- 数据表创建
- 运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'
- VMware Fusion 10序列号
- C++ 数据结构-栈
- js统计字符串出现的频率
- 根据PowerDesigner的模型生成数据库表
- DDL-数据表的创建
- LSTM implementation explained
- eMMC分区详解
- 【HDU
- POJ 2062 Card Game Cheater
- 2017-10-02(一个水杯引发的思考)
- Android Studio安装genymotion插件并运行
- A quick tour of Torch internals
- java中如何按输入的顺序遍历一个map和set