当前位置: 首页 > news >正文

佛山深圳建网站网站开发线上销售技巧

佛山深圳建网站,网站开发线上销售技巧,四川网站建设方案,做外贸网站多久更新引言 一般在操作数据库的过程中对表的修改操作常常涉及, 如何处理/修改已存在大量数据的表通常是个老大难的问题 各种报错信息层出不穷, 担心误操作而导致数据丢失. 因此, 修改表结构, 看似简单实则处处细节 修改表结构 修改表结构大致有如下基本语法 1 -- 1. 修改表名2 AL…

引言

  一般在操作数据库的过程中对表的修改操作常常涉及, 如何处理/修改已存在大量数据的表通常是个老大难的问题

  各种报错信息层出不穷, 担心误操作而导致数据丢失.

  因此, 修改表结构, 看似简单实则处处细节

修改表结构

  修改表结构大致有如下基本语法

 1 -- 1. 修改表名
 2     ALTER TABLE 表名 
 3         RENAME 新表名;
 4         
 5 -- 2. 增加字段
 6     ALTER TABLE 表名
 7         ADD 字段名  数据类型 [完整性约束条件…],
 8         ADD 字段名  数据类型 [完整性约束条件…];
 9                                     
10 -- 3. 删除字段
11     ALTER TABLE 表名 
12         DROP 字段名;
13         
14 -- 4. 修改字段
15     ALTER TABLE 表名 
16         MODIFY  字段名 数据类型 [完整性约束条件…];
17     ALTER TABLE 表名 
18         CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
19     ALTER TABLE 表名 
20         CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
21         
22 -- 5.修改字段排列顺序/在增加的时候指定字段位置
23     ALTER TABLE 表名
24         ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
25     ALTER TABLE 表名
26         ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
27     ALTER TABLE 表名
28         CHANGE 字段名  旧字段名 新字段名 新数据类型 [完整性约束条件…]  FIRST;
29     ALTER TABLE 表名
30         MODIFY 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
31                     
ALTER TABLE的语法

示例

 1.利用ALTER TABLE处理NULL和UNIQUE约束

 1 CREATE TABLE t(
 2     id INT UNIQUE, 
 3     name CHAR(10) NOT NULL
 4 );
 5 
 6 -- 去掉NULL约束
 7 ALTER TABLE t 
 8 MODIFY name CHAR(10) NULL;
 9 
10 -- 添加NULL约束
11 ALTER TABLE t 
12 MODIFY name CHAR(10) NOT NUll;
13     
14 -- 去掉UNIQUE约束
15 ALTER TABLE t 
16 DROP INDEX id;
17 
18 -- 添加UNIQUE约束
19 ALTER TABLE t 
20 MODIFY id INT UNIQUE;
利用ALTER TABLE处理NULL和UNIQUE约束

 2.利用ALTER TABLE处理主键

 1 CREATE TABLE t(
 2     id INT UNIQUE, 
 3     name CHAR(10) NOT NULL
 4 );
 5 
 6 -- 去掉NULL约束
 7 ALTER TABLE t 
 8 MODIFY name CHAR(10) NULL;
 9 
10 -- 添加NULL约束
11 ALTER TABLE t 
12 MODIFY name CHAR(10) NOT NUll;
13 
14 -- 去掉UNIQUE约束
15 ALTER TABLE t 
16 DROP INDEX id;
17 
18 -- 添加UNIQUE约束
19 ALTER TABLE t 
20 MODIFY id INT UNIQUE;
利用ALTER TABLE处理主键

 3.利用ALTER TABLE为表添加外键

 1 CREATE TABLE press(
 2     id INT(11) NOT NULL,
 3     name CHAR(10) DEFAULT NULL,
 4     PRIMARY KEY (id)
 5 );
 6 
 7 CREATE TABLE book(
 8     id INT(11) DEFAULT NULL,
 9     bk_name CHAR(12) DEFAULT NULL,
10     press_id INT(11) NOT NULL,
11 );
12 
13 -- 为book表添加外键
14 ALTER TABLE book 
15 ADD CONSTRAINT [foreign key name] FOREIGN KEY(press_id) REFERENCES press(id);
16 
17 -- 删除外键
18 ALTER TABLE book 
19 DROP FOREIGN KEY [foreign key name];
20 
21 -- 注: [内容] 为可选填内容, 除保留字外, 符合语法规范均可
利用ALTER TABLE为表添加外键

其他示例

 1.表重命名

 1 DESC old_name;
 2 +-------+-----------------------+------+-----+---------+-------+
 3 | Field | Type                  | Null | Key | Default | Extra |
 4 +-------+-----------------------+------+-----+---------+-------+
 5 | id    | int(11)               | YES  |     | NULL    |       |
 6 | name  | varchar(50)           | YES  |     | NULL    |       |
 7 | age   | int(3)                | YES  |     | NULL    |       |
 8 | sex   | enum('male','female') | YES  |     | NULL    |       |
 9 | phone | bigint(11)            | YES  |     | NULL    |       |
10 | job   | varchar(11)           | YES  |     | NULL    |       |
11 +-------+-----------------------+------+-----+---------+-------+
12 rows in set (0.00 sec)
13 
14 -- 表重命名
15 ALTER TABLE old_name RENAME new_name;
16 Query OK, 0 rows affected (0.00 sec)
17 
18 DESC new_name;
19 +-------+-----------------------+------+-----+---------+-------+
20 | Field | Type                  | Null | Key | Default | Extra |
21 +-------+-----------------------+------+-----+---------+-------+
22 | id    | int(11)               | YES  |     | NULL    |       |
23 | name  | varchar(50)           | YES  |     | NULL    |       |
24 | age   | int(3)                | YES  |     | NULL    |       |
25 | sex   | enum('male','female') | YES  |     | NULL    |       |
26 | phone | bigint(11)            | YES  |     | NULL    |       |
27 | job   | varchar(11)           | YES  |     | NULL    |       |
28 +-------+-----------------------+------+-----+---------+-------+
29 rows in set (0.00 sec)
表重命名

 2.删除或添加某列

 1 -- 删除sex列
 2 ALTER TABLE staff DROP sex;
 3 Query OK, 0 rows affected (0.02 sec)
 4 Records: 0  Duplicates: 0  Warnings: 0
 5 
 6 DESC staff;
 7 +-------+-------------+------+-----+---------+-------+
 8 | Field | Type        | Null | Key | Default | Extra |
 9 +-------+-------------+------+-----+---------+-------+
10 | id    | int(11)     | YES  |     | NULL    |       |
11 | name  | varchar(50) | YES  |     | NULL    |       |
12 | age   | int(3)      | YES  |     | NULL    |       |
13 | phone | bigint(11)  | YES  |     | NULL    |       |
14 | job   | varchar(11) | YES  |     | NULL    |       |
15 +-------+-------------+------+-----+---------+-------+
16 rows in set (0.01 sec)
17 
18 -- 添加列
19 ALTER TABLE staff ADD sex ENUM('male','female');
20 Query OK, 0 rows affected (0.03 sec)
21 Records: 0  Duplicates: 0  Warnings: 0
删除或添加某列

 3.修改字段属性1

 1 -- 修改id的宽度
 2 ALTER TABLE staff MODIFY id INT(4);
 3 Query OK, 0 rows affected (0.02 sec)
 4 Records: 0  Duplicates: 0  Warnings: 0
 5 
 6 DESC staff;
 7 +-------+-----------------------+------+-----+---------+-------+
 8 | Field | Type                  | Null | Key | Default | Extra |
 9 +-------+-----------------------+------+-----+---------+-------+
10 | id    | int(4)                | YES  |     | NULL    |       |
11 | name  | varchar(50)           | YES  |     | NULL    |       |
12 | age   | int(3)                | YES  |     | NULL    |       |
13 | phone | bigint(11)            | YES  |     | NULL    |       |
14 | job   | varchar(11)           | YES  |     | NULL    |       |
15 | sex   | enum('male','female') | YES  |     | NULL    |       |
16 +-------+-----------------------+------+-----+---------+-------+
17 rows in set (0.01 sec)
修改字段属性1

 4.修改字段属性2

 1 -- 修改name列的字段名
 2 ALTER TABLE staff CHANGE name sname VARCHAR(20);
 3 Query OK, 4 rows affected (0.03 sec)
 4 Records: 4  Duplicates: 0  Warnings: 0
 5 
 6 DESC staff;
 7 +-------+-----------------------+------+-----+---------+-------+
 8 | Field | Type                  | Null | Key | Default | Extra |
 9 +-------+-----------------------+------+-----+---------+-------+
10 | id    | int(4)                | YES  |     | NULL    |       |
11 | sname | varchar(20)           | YES  |     | NULL    |       |
12 | age   | int(3)                | YES  |     | NULL    |       |
13 | phone | bigint(11)            | YES  |     | NULL    |       |
14 | job   | varchar(11)           | YES  |     | NULL    |       |
15 | sex   | enum('male','female') | YES  |     | NULL    |       |
16 +-------+-----------------------+------+-----+---------+-------+
17 rows in set (0.00 sec)
修改字段属性2

 5.修改字段属性3

 1 -- 修改sex列的位置
 2 ALTER TABLE staff MODIFY sex ENUM('male','female') AFTER sname;
 3 Query OK, 0 rows affected (0.02 sec)
 4 Records: 0  Duplicates: 0  Warnings: 0
 5 
 6 DESC staff;
 7 +-------+-----------------------+------+-----+---------+-------+
 8 | Field | Type                  | Null | Key | Default | Extra |
 9 +-------+-----------------------+------+-----+---------+-------+
10 | id    | int(4)                | YES  |     | NULL    |       |
11 | sname | varchar(20)           | YES  |     | NULL    |       |
12 | sex   | enum('male','female') | YES  |     | NULL    |       |
13 | age   | int(3)                | YES  |     | NULL    |       |
14 | phone | bigint(11)            | YES  |     | NULL    |       |
15 | job   | varchar(11)           | YES  |     | NULL    |       |
16 +-------+-----------------------+------+-----+---------+-------+
17 rows in set (0.00 sec)
修改字段属性3

 6.创建自增id主键

 1 -- 创建自增id主键
 2 ALTER TABLE staff MODIFY id INT(4) PRIMARY KEY AUTO_INCREMENT;
 3 Query OK, 4 rows affected (0.02 sec)
 4 Records: 4  Duplicates: 0  Warnings: 0
 5 
 6 DESC staff;
 7 +-------+-----------------------+------+-----+---------+----------------+
 8 | Field | Type                  | Null | Key | Default | Extra          |
 9 +-------+-----------------------+------+-----+---------+----------------+
10 | id    | int(4)                | NO   | PRI | NULL    | auto_increment |
11 | sname | varchar(20)           | YES  |     | NULL    |                |
12 | sex   | enum('male','female') | YES  |     | NULL    |                |
13 | age   | int(3)                | YES  |     | NULL    |                |
14 | phone | bigint(11)            | YES  |     | NULL    |                |
15 | job   | varchar(11)           | YES  |     | NULL    |                |
16 +-------+-----------------------+------+-----+---------+----------------+
17 rows in set (0.00 sec)
创建自增id主键

 7.删除主键

 1 -- 删除主键,可以看到删除一个自增主键会报错
 2 ALTER TABLE staff DROP PRIMARY KEY;
 3 ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
 4 
 5 -- 需要先去掉主键的自增约束,然后再删除主键约束
 6 ALTER TABLE staff MODIFY id INT(11);
 7 Query OK, 4 rows affected (0.02 sec)
 8 Records: 4  Duplicates: 0  Warnings: 0
 9 
10 DESC staff;
11 +-------+-----------------------+------+-----+---------+-------+
12 | Field | Type                  | Null | Key | Default | Extra |
13 +-------+-----------------------+------+-----+---------+-------+
14 | id    | int(11)               | NO   | PRI | 0       |       |
15 | sname | varchar(20)           | YES  |     | NULL    |       |
16 | sex   | enum('male','female') | YES  |     | NULL    |       |
17 | age   | int(3)                | YES  |     | NULL    |       |
18 | phone | bigint(11)            | YES  |     | NULL    |       |
19 | job   | varchar(11)           | YES  |     | NULL    |       |
20 +-------+-----------------------+------+-----+---------+-------+
21 rows in set (0.01 sec)
22 
23 ALTER TABLE staff DROP PRIMARY KEY;
24 Query OK, 4 rows affected (0.06 sec)
25 Records: 4  Duplicates: 0  Warnings: 0
删除主键

 其他有关主键操作

 1 -- 添加联合主键
 2 ALTER TABLE staff ADD PRIMARY KEY(sname, age);
 3 Query OK, 0 rows affected (0.02 sec)
 4 Records: 0  Duplicates: 0  Warnings: 0
 5 
 6 -- 删除主键
 7 ALTER TABLE staff DROP PRIMARY KEY;
 8 Query OK, 4 rows affected (0.02 sec)
 9 Records: 4  Duplicates: 0  Warnings: 0
10 
11 -- 设置id为主键
12 ALTER TABLE staff ADD PRIMARY KEY(id);
13 Query OK, 0 rows affected (0.02 sec)
14 Records: 0  Duplicates: 0  Warnings: 0
15 
16 DESC staff;
17 +-------+-----------------------+------+-----+---------+-------+
18 | Field | Type                  | Null | Key | Default | Extra |
19 +-------+-----------------------+------+-----+---------+-------+
20 | id    | int(11)               | NO   | PRI | 0       |       |
21 | sname | varchar(20)           | NO   |     |         |       |
22 | sex   | enum('male','female') | YES  |     | NULL    |       |
23 | age   | int(3)                | NO   |     | 0       |       |
24 | phone | bigint(11)            | YES  |     | NULL    |       |
25 | job   | varchar(11)           | YES  |     | NULL    |       |
26 +-------+-----------------------+------+-----+---------+-------+
27 rows in set (0.00 sec)
28 
29 -- 为主键添加自增属性
30 ALTER TABLE staff MODIFY id INT(4) AUTO_INCREMENT;
31 Query OK, 4 rows affected (0.02 sec)
32 Records: 4  Duplicates: 0  Warnings: 0
33 
34 DESC staff;
35 +-------+-----------------------+------+-----+---------+----------------+
36 | Field | Type                  | Null | Key | Default | Extra          |
37 +-------+-----------------------+------+-----+---------+----------------+
38 | id    | int(4)                | NO   | PRI | NULL    | auto_increment |
39 | sname | varchar(20)           | NO   |     |         |                |
40 | sex   | enum('male','female') | YES  |     | NULL    |                |
41 | age   | int(3)                | NO   |     | 0       |                |
42 | phone | bigint(11)            | YES  |     | NULL    |                |
43 | job   | varchar(11)           | YES  |     | NULL    |                |
44 +-------+-----------------------+------+-----+---------+----------------+
45 rows in set (0.00 sec)
其他有关主键操作

 

以上

转载于:https://www.cnblogs.com/dmcs95/p/10779136.html

http://www.yayakq.cn/news/516582/

相关文章:

  • 2008年做的网站windows优化
  • wordpress企业站主题下载二级域名绑定网站
  • 学校网站总务建设东莞找工作在什么平台找合适
  • 郴州网站建设公司在哪里工商红盾网查询系统
  • 北京欢迎你网站制作公司百度收录提交申请网站
  • 网站专题策划案例左右翻网站模版
  • 影院网站怎么做简约网站模版
  • 对做网站公司的疑问wordpress 知更鸟5.2
  • 优化网站最好的刷排名软件在站点上新建网页
  • 网站可以做10000件事情吗济南网站建设与维护
  • 网站建设需要什么语言快三网站开发
  • 精选合肥网站建设公司做网站费用怎么记账
  • 来个黑黑的网站外包服务是什么
  • 爱途 中山网站制作网站相似度检测 站长
  • 做网络推广的网站网站建设用那个软件
  • 网站建设里程碑网站开发建设合同书
  • 咸宁网站设计制作哈尔滨优化推广公司
  • 网站开发寄什么科目浏览器网页版入口
  • 婺源做网站嘉兴网站建设低价推荐
  • 用什么工具做网站重庆大型网站建设重庆网站制作
  • 网站建设维护协议书做网站建设的电销
  • 网站建设中网站需求分析报告作用东营做网站tt0546
  • 学做网站要学什么东西一般网站 广告
  • 顺德网站制作案例平台c语言可以做网站吗
  • 房产证查询系统官方网站国内购物平台排行榜
  • 长春做网站的公司哪家好兼职做网站设计
  • 网站怎么做拉新买机箱网站
  • 泌阳网站建设建设网站用什么空间服务器
  • 国外做旅游攻略的网站便宜的网站建设
  • 南宁论坛建站模板福清做网站的公司