sql语句中default是什么意思?
在SQL语句的末尾有上面这句话,这句话是什么意思呢? 展开
意思是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()
)
2018-08-02 · 知道合伙人软件行家
例如:
例如,下面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 CHARSET”的一部分,表示数据库中字符的默认编码方式采用utf-8
ENGINE=InnoDB是什么意思呢?
ENGINE=InnoDB表示新建的数据库采用InnoDB数据库作为模版创建,相当于复制一个空的过来
例如建立学生信息表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添加主键