软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 数据库 -> DDL语句 -> 正文阅读

[数据库]DDL语句




修改表是指修改数据库中已经存在的表的定义。修改表比重新定义表简单,不需要重新加载数据,也不会影响正在进行的服务
MySQL中通过ALTER TABLE语句来修改表,修改表包括修改表名,修改字段数据类型,修改字段名,增加字段,删除字段,修改字段的排列位置,更改默认存储引擎和删除表的外键约束等。
OK,这篇博客会详细的整理到上面的几种修改表的方式。现在我们开始。

  • 1,修改表名

表名可以在一个数据库中唯一的确定一张表。数据库系统通过表名来区分不同的表。注意的是,数据库中的表是唯一的,数据库中不可能存在两张相同的表。

MySQL中通过sql语句ALTER TABLE来实现表名的修改,语法形式如下:
ALTER TABLE 旧表名 RENAME [TO] 新表名;
其中,‘旧表名’参数表示修改前的表名,‘新表名’参数表示修改后的新表名,TO参数是可选参数,这个属性是否在语句中出现不会影响语句的执行。rename的意思就是重命名,所以这个挺好记的。
OK,现在我们来实际操作下数据库。我们现在数据库中创建一张表,建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们修改下上面user表的表名:
ALTER TABLE linkinframe.user RENAME linkinframe.usr;
OK,修改成功,我们查看下新的表,表结构和之前的表结构一致,里面的数据与之前的数据也一致。

  • 2,修改字段的数据类型


字段的数据类型包括整数型,浮点数型,字符串型,二进制类型,日期和时间类型等。数据类型决定了数据的存储格式,约束条件和有效范围。表中的每个字段都有数据类型
MySQL中,ALTER TABLE语句也可以修改字段的数据类型。基本语法如下:
ALTER TABLE 表名 MODIFY 属性名 数据类型;

其中,‘表名’参数指所要修改的表的名称,‘属性名’参数指需要修改的字段的名称,‘数据类型’参数值修改后的新的数据类型。
OK,现在我们来实际操作下MySQL,首先我们建一张user表,建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们修改name字段的长度为varhcar(10),执行如下的sql语句来修改:
ALTER TABLE linkinframe.`user` MODIFY name varchar(10) NOT NULL;
[img]http://img.blog.csdn.net/20160331162025454?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
修改后我们查看下数据库现在表结构,成功修改了name属性的长度了。

  • 3,修改字段名

字段名是一张表中唯一的一个字段。数据库系统通过字段名来区分表中的不同字段。MySQL中,ALTER TABLE语句也可以修改表的字段名,基本语法如下:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
其中,‘旧属性名’参数指修改前的字段名,‘新属性名’参数指修改后的字段名,‘新数据类型’参数指修改后的数据类型,如不需要修改,则将新数据类型设置成与原来的一样。
具体有2种情况:

  • 1),只修改字段名

使用ALTER TABLE 语句直接修改字段名,不改变字段的数据类型。建表语句:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们修改name字段为username字段,执行如下语句来修改:
ALTER TABLE linkinframe.`user` CHANGE name username varchar(10) NOT NULL;

修改后的表结构如下:
[img]http://img.blog.csdn.net/20160331162144954?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

当然其中的数据也没有变化:
[img]http://img.blog.csdn.net/20160331162213611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 2),修改字段名和字段数据类型

使用ALTER TABLE语句直接修改字段名和该字段的数据类型。建表语句:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们修改name字段为username字段,然后我们将name原来的长度修改成为10,执行如下语句来修改:
ALTER TABLE linkinframe.`user` CHANGE name username varchar(10) NOT NULL;

修改后的表结构如下:
[img]http://img.blog.csdn.net/20160331162313298?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 3),总结

MODIFY和CHANGE都可以改变字段的数据类型。不同的是:

1,CHANGE可以在改变字段数据类型的同时,改变字段名。MODIFY只能用来改变字段的数据类型,不能修改字段名。
2,CHANGE如果不改变字段名,只修改字段类型,CHAGE后面必须跟两个同样的字段名。
3,养成良好的习惯,如果是指修改字段的数据结构就使用MODIFY,如果要修改字段名+数据结构就使用CHANGE
4,在修改表的字段过程中,如果表中已经有记录,修改数据类型时应该特别小心。因为,修改数据类型时可能会影响表中的数据。
5,特别注意的是,字符类型的字段最好不要改成整数类型,浮点数类型。

  • 4,增加字段

在创建表时,表中的字段就已经定义完成。如果要增加新的字段,可以通过ALTER TABLE语句进行增加,在MySQL中,ALTER TBALE语句增加字段的基本语法如下:
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

其中,‘属性名1’参数指需要增加的字段的名称,‘数据类型’参数指新增加字段的数据类型,‘完整性约束条件’是可选参数,用来设置新增字段的完整性约束条件;‘FIRST’参数也是可选参数,其作用是将新增字段设置为表的第一个字段,‘AFTER 属性名
2’参数也是可选参数,其作用是将新增字段添加到‘属性名2’所指的字段后。如果执行的sql语句中没有‘FIRST’,‘AFTER 属性名2’参数指定新增字段的位置,新增的字段默认为表的最后一个字段


具体有如下4种情况:

  • 1),增加无完整性约束条件的字段

一个完整的字段包括字段名,数据类型和完整性约束条件,增加字段一般都是包括上述内容。当然,根据实际情况,一些字段也可以不用完整性约束条件进行约束。

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中添加一个phone字段:
ALTER TABLE linkinframe.`user` ADD phone varchar(11);

[img]http://img.blog.csdn.net/20160331162523362?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

OK,添加字段成功,这里没有设置‘FRIST’和‘AFTER 属性名2’参数来指定插入位置,所以新增字段默认为表的最后一个字段。

  • 2),增加有完整性约束条件的字段

增加字段时可以设置该字段的完整性约束条件,如设置字段是否为空,是否为主键,是否为外键,默认值和是否为自增类型等约束条件

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中添加一个phone字段:
ALTER TABLE linkinframe.`user` ADD phone varchar(11) NOT NULL;
[img]http://img.blog.csdn.net/20160331162619425?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
OK,添加字段成功,这里没有设置‘FRIST’和‘AFTER 属性名2’参数来指定插入位置,所以新增字段默认为表的最后一个字段。

  • 3),表的第一个位置增加字段

默认情况下,新增字段为表的最后一个字段。如果加上FIRST参数,则可以将新增字段设置为表的第一个字段
现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE linkinframe.`user` (
    `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
	UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中添加一个id字段,然后设置id为user表的主键,而且放到表中的第一个位置上。
ALTER TABLE linkinframe.`user` ADD `id` int(11) primary KEY AUTO_INCREMENT first;
[img]http://img.blog.csdn.net/20160331162714909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
OK,添加成功,而且成功的放到了表中的第一个字段上面了。

  • 4),表的指定位置之后增加字段

在增加字段时,由于特殊原因需要在表的指定位置增加字段,如果加上‘AFTER 属性名2’参数,那么新增的字段插入在‘属性名2’后面

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中name字段之后添加一个phone字段:
ALTER TABLE linkinframe.`user` ADD phone varchar(11) after name;
[img]http://img.blog.csdn.net/20160331162813957?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
OK,添加字段成功,表中phone字段成功的放到了name字段之后。

  • 总结:

1,增加字段时,如果能够加上完整性约束条件,一定要加上。这样可以保证此字段的安全性,甚至可以提高整个表的数据的安全性。

2,对于一个数据库来说,字段的排列顺序对表不会有什么影响。但是对于创建表的人来说,将有某种直接或者间接关系的字段放在一起,会更加好的理解这个表的结构,这其实也是一种习惯,我们以后也要尽量将有关系的字段放在一起,方便我们查看

  • 5,删除字段

删除字段是指删除已经定义好的表中的某个字段,在表创建完成之后,如果发现某个字段需要删除,可以采用将整个表都删除,然后重新创建一张表的做法。这样做是可以达到目的的,但必然会影响到表中的数据,而且操作比较麻烦。

MySQL中,ALTER TABLE语句也可以删除表中的字段,语法如下:
ALTER TABLE 表名 DROP 属性名;
其中,‘属性名’参数指需要从表中删除的字段的名称。
现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中删除掉name字段:
ALTER TABLE linkinframe.`user` DROP name;
[img]http://img.blog.csdn.net/20160331162946410?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
OK,成功删除了。

  • 6,修改字段的排列位置

创建表的时候,字段在表中的排列位置都已经确定了,如果要改变字段在表中的排列位置,也可以通过ALTER TABLE来处理。MySQL中,修改字段排列位置的ALTER TABLE语句的基本语法如下:
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
其中,‘属性名1’参数指需要修改位置的字段的名称,‘数据类型’参数指‘属性名1’的数据类型,‘FIRST’参数指定位置为表的第一个位置,‘AFTER 属性名2’参数指定‘属性名1’插入到‘属性名2’之后。
具体的分2种情况:

  • 1),字段修改到第一个位置

FIRST参数可以指定字段为表的第一个字段

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中的name字段修改到数据库的第一个位置上去:
ALTER TABLE linkinframe.`user` modify name varchar(5) first;

[img]http://img.blog.csdn.net/20160331163104692?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

OK,显示name字段已经到了user表的第一个位置上了。

  • 2),字段修改到指定位置

‘AFTER’参数可以将字段排在表中指定的字段之后

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中的name字段修改到age之后去:
ALTER TABLE linkinframe.`user` modify name varchar(5) after age;
[img]http://img.blog.csdn.net/20160331163218568?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
OK,显示name字段已经到了user表中age之后了。

  • 总结:


修改字段的排列位置其实也就是修改表的字段,这里由于没有修改字段名,所以我们可以使用MODIFY来操作字段的位置,当然我们也可以使用CHANGE来操作字段的位置,只不过这个时候属性名要写2遍而已。
比如说我现在不自己写sql,然后使用MySQL的客户端来调整下表中的2字段的位置使用的就是CHANGE。
ALTER TABLE `linkinframe`.`user` 
CHANGE COLUMN `name` `name` VARCHAR(5) CHARACTER SET 'utf8' NULL DEFAULT NULL AFTER `id`;
[img]http://img.blog.csdn.net/20160331163311349?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 7,更改表的存储引擎


MySQL存储引擎是指MySQL数据库中表的存储类型。MySQL存储引擎包括InnoDB,MyISAM,Memory等。不同的表类型有着不同的优缺点,在前面的博客中我也已经整理到了。
在创建表时,存储引擎就已经设定好了。如果要改变,可以通过重新创建一张表来实现。这么做是可以达到目的的,但必然会影响到表中的数据,而且操作比较麻烦。
MySQL中,ALTER TABLE语句也可以更改表的存储引擎的类型,其基本语法如下:
ALTER TABLE 表名 ENGINE=存储引擎名
其中,‘存储引擎名’参数指设置的新的存储引擎的名称。
现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们user表中的存储引擎设置为MyISAM:
ALTER TABLE linkinframe.`user` ENGINE = MyISAM;

[img]http://img.blog.csdn.net/20160331163612600?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

[img]http://img.blog.csdn.net/20160331163425881?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

OK,现在我们SHOW CREATE TABLE看下user的表结构,现在user表的存储引擎成功的变成了MyISAM。
注意:使用Alter语句可以改变表的存储引擎,这可以避免重新创建表。但是,如果表中已经有很多的数据,改变存储引擎可能会造成一些意料之外的影响。如果一个表中已经存在了很多数据,最好不要轻易更改其存储引擎

  • 8,删除表的外键约束


外键是一个特殊字段,其将某一表与其父表建立关联关系。在创建表的时,外键约束就已经设定好了。由于特殊需要,与父表之间的关联关系需要去除,要求删除外键约束。
MySQL中,ALTER TABLE语句也可以删除表的外键约束。其基本语法如下:
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名:

其中,‘外键别名’参数指创建表时设置的外键的代号。

现在我们来实际操作下,数据库建表语句如下:
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(5) COLLATE utf8_bin NOT NULL,
  `card_id` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `age` int(11) DEFAULT '25',
  PRIMARY KEY (`id`),
  UNIQUE KEY `age_UNIQUE` (`card_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `address` (
  `id` int(11) NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `name` varchar(45) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id_idx` (`user_id`),
  CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
现在我们删除掉从表address的外键关联,执行如下sql:
ALTER TABLE linkinframe.address DROP foreign key user_id;

[img]http://img.blog.csdn.net/20160331163550600?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

OK,查询结果显示从表address的外键已经不存在了。
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-01 16:56:17  
数据库 最新文章
Python&MySQL&PyQt
最新用python来操作mysql完全解析
mongodb的安装详解
1.PDO简介
《MySQL必知必会学习笔记》:高级联结
【翻译自mos文章】怎么对Microsoft(Office)
MyCAT全局表描述及示例
ocp
关于SQL数据表存储过程表名前缀换成dbo代码
数据库调优教程(二)慢查询数据准备
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture
生肖星座 三丰软件 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 美图 中国文化英文版 多播 租车 短信
2017-7-25 20:37:19
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --