意思是DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。
例如:
下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为5000.00默认情况下,这样的情况下,INSERT INTPO声明并没有提供此列的值,则默认情况下,该列将被设置为5000.00。
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);
default的用法
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE TABLE 时的 SQL DEFAULT 约束
下面的 SQL 在 “Persons” 表创建时在 “City” 列上创建 DEFAULT 约束:
My SQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)
通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
CREATE TABLE Orders(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。
例如:
例如,下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为5000.00默认情况下,这样的情况下,INSERT INTPO声明并没有提供此列的值,则默认情况下,该列将被设置为5000.00。
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);
如果CUSTOMERS表中已经被创建,然后添加一个DFAULT约束的SALARY列默认值,那么需要写一个类似下面的语句:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;
删除默认约束:
要删除一个DEFAULT约束,请使用下面的SQL语句:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP DEFAULT;
你创建的表里的default的意思是,默认值不能是空值,但是可以是空格值。
给你看我的例子。
不明白的可以追问呀
图中的default表示该字段的默认值是一个空的字符串‘’,即在插入记录时不指定该字段取值时默认用‘’作为插入值。
问题补充中的的default其实应该是“DEFAULT CHARSET”的一部分,表示数据库中字符的默认编码方式采用utf-8
sql语句中假如default设置的是默认值,当不显示插入字段时,可以默认插入设置的默认值.
例如建立学生信息表Student,同时设置学号StudentNo为主键,如下:
create table Student(
StudentNo int not null primary key,
StudentName nvarchar(20) not null
)
也可以先建学生信息表Student,然后为学号StudentNo添加主键,如下:
1.建学生信息表Student
create table Student(
StudentNo int not null,
StudentName nvarchar(20) not null
)
2.为学号StudentNo添加主键
alter table Student //注释:修改学生信息表Student
add constraint PK_StudentNo primary key (StudentNo) //注释:为StudentNo添加主键