10.插入语句

/*
	插入数据记录
	insert into table_name
	[(column1,column2,...columnN)]
	values(value1,value2,..valueN)

	table_name:插入数据记录的表的名称
	column1,column2,...,columnN:表示要插入数据的列,多列之间用逗号
		隔开.该项内容可以省略,如果省略表示向数据表中插入整行数据
	value1,value2,..,valueN:表示插入的数据记录的值


	注意原则:
		-- 插入数据类型,与定义数据类型相同
		-- 插入必须遵循数据表定义的数据完整性约束
		-- 具有默认值或允许空值的列
		-- values中,数据排列的先后位置必须与字段排列的先后位置一致,个数要相同
*/
go
create table students(
	sno varchar(10) primary key, 
	sn varchar(10),
	sex char(2),
	bianma varchar(10)
	)
go

-- 向students表中添加一行记录
insert into students
values('010101','张无忌','男','0101010101')

-- 向student表中sno,sname添加一行新记录
insert into students(sno,sn)
values('020202','杨晓')

-- 向student添加一条新记录,使ssfzh为null
go
insert into student(ssno,sname,ssfzh)
values('030303','赵敏',null)
go

select *
from student


-- 向student表中插入一条默认值记录
insert into student
default values   -- 像主键还有其他的,都是不允许null的

-- 插入多条记录
insert into students(sno,sn,sex,bianma)
values('020103','李红','女','25'),
('020104','李阳','男','26'),
('020105','刘工','男','25')


/*
	利用insert select 语句插入多行记录
	可以利用该语句把现有表中多条数据添加到其他表中
	
	语法
	insert into table_name1(column1,column2,...,columnN)
	select column1,column2,...,columnN
	from table_name2
	where condition

	table_name1:指定要输入数据记录的数据表的名称
	column1,column2,...columnN:插入到数据表中数据字段的名称
	select column1,column2,...columnN:数据来源字段
	table_name2:数据来源表
	condition:条件表达式
*/

-- students表中的sno,sname,ssex添加到student
insert into student
select *
from students

猜你喜欢

转载自blog.csdn.net/qq_53183608/article/details/121712622