create table customer ( customerID char(10)primary key, customername varchar(6)not null, phone char(11)not null, address varchar(40)not null, code char(6)not null check(czip like ‘[0-9][0-9][0-9][0-9][0-9][0-9]’) )修改这段代码
时间: 2024-03-10 10:48:23 浏览: 29
可以考虑修改以下几点:
1. 将类型为 char 的字段改为 varchar,因为 char 类型会占用定长存储空间,而 varchar 类型是变长的,可以更节省存储空间。
2. 将字段名 customername 改为 customer_name,这样更符合命名规范。
3. 将字段名 code 改为 zip_code,更加清晰明了。
修改后的代码如下:
```
CREATE TABLE customer (
customer_id varchar(10) PRIMARY KEY,
customer_name varchar(6) NOT NULL,
phone varchar(11) NOT NULL,
address varchar(40) NOT NULL,
zip_code varchar(6) NOT NULL CHECK(zip_code LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')
);
```
相关问题
create table tb_customerinfo ( CustomerId int identity, CustomerName varchar(20) not null, CustomerPwd varchar(20) not null, Customertruename varchar(20) not null, CustomerSex varchar(2) not null constraint CKC_CUSTOMERSEX_TB_CUSTO check (CustomerSex in ('男','女')), CustomerTel varchar(20) not null, CustomerEmail varchar(20) not null, CustomerAddr varchar(20) not null, CustomerRegTime datetime not null, CustomerQues varchar(200) null, CustomerAnswer varchar(200) null, CustomerLogTime int not null, CustomerLastLogT datetime not null, constraint PK_TB_CUSTOMERINFO primary key(CustomerId, CustomerName) ) 以上代码在identity,如何修改
如果您希望修改上述代码,可以考虑使用自增序列而不是IDENTITY,如下所示:
```
create sequence seq_customerinfo as int start with 1 increment by 1;
create table tb_customerinfo (
CustomerId int default (next value for seq_customerinfo),
CustomerName varchar(20) not null,
CustomerPwd varchar(20) not null,
Customertruename varchar(20) not null,
CustomerSex varchar(2) not null constraint CKC_CUSTOMERSEX_TB_CUSTO check (CustomerSex in ('男','女')),
CustomerTel varchar(20) not null,
CustomerEmail varchar(20) not null,
CustomerAddr varchar(20) not null,
CustomerRegTime datetime not null,
CustomerQues varchar(200) null,
CustomerAnswer varchar(200) null,
CustomerLogTime int not null,
CustomerLastLogT datetime not null,
constraint PK_TB_CUSTOMERINFO primary key(CustomerId, CustomerName)
);
```
这样就可以使用自增序列seq_customerinfo来生成CustomerId,而不使用IDENTITY。
用oracle实现这样一张表列名称 类型 说明 customerID NUMBER 客户编号 自动编号(标识列),从1开始,主键 customerName VARCHAR2 开户名 必填 PID CHAR 身份证号 必填,只能是18位,身份证号唯一约束 telephone CHAR 联系电话 必填,手机号11位 address VARCHAR2 居住地址 可选输入
可以使用以下 SQL 语句来创建该表:
```
CREATE TABLE customer (
customerID NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
customerName VARCHAR2(50) NOT NULL,
PID CHAR(18) UNIQUE NOT NULL,
telephone CHAR(11) NOT NULL,
address VARCHAR2(100)
);
```
其中,customerID 列使用 GENERATED BY DEFAULT AS IDENTITY 定义为自动编号(标识列),从 1 开始,并且将其设置为主键。customerName 列使用 VARCHAR2 类型定义为开户名,必填。PID 列使用 CHAR 类型定义为身份证号,必填且唯一,长度为 18 位。telephone 列使用 CHAR 类型定义为联系电话,必填且长度为 11 位。address 列使用 VARCHAR2 类型定义为居住地址,可选输入。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)