10-22数据库 复习
2012-10-22 19:50
260 查看
今天老师复习的数据库的内容、我觉得吧、这块不难,之前学过嘛听起来很轻松、老师上课讲的就是创建数据库、创建表、还有简单的sql语句、主要的目的就是让我们掌握好基础的一些东西、把原来学过的东西捡回来!
这是今天下午亲手敲过的代码、也是老师上课讲的例题
--创建数据库TestSchool
create database TestSchool
on primary
(
name='TestSchool.mdf',
filename='c:\test\TestSchool.mdf',
filegrowth=10%
)
log on
(
name='TestSchool.mdf',
filename='c:\test\TestSchool_log.ldf'
)
--创建表TblScore
create table TblScore
(
tSoreId int identity(1,1) primary key,
tSId int not null,
tEnglish float,
tMath float,
)
go
--创建表TblTeacher
create table TblTeacher
(
tTId int identity(1,1) primary key,
tTName nvarchar(10) not null,
tTGender bit default(0),
tTAge int ,
tTSalary money,
tTBirthday datetime,
)
go
--***************************跨数据库访问:数据库名..表名
use TestSchool
select *into mynewDepartment from heSoft..T_Department
--mynewDepartment其实这表原来不存在,但是select * into mynewDepartment from heSoft..T_Department
--就会把1.新建的mynewDepartment,2.然后表其他数据库中的表的结构copy到新表中。
--************给TbleTeacher表中插入数据
--(1)最基本的数据插入
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('姚宏波',1,27,10000,'1980-10-10');
--(2)只向某些列插入数据
insert into TblTeacher (tTName,tTSalary )values('李雨锦',5000)
---不建议这么写
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('李伟','true',27,10000,'1988-10-10');
--自动编号会跳跃
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('陈红军',1,27,10000,'1980-10-10');
insert into TblTeacher (tTId ,tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values(8,'陈红军','true',27,10000,'1980-10-10');
--为自动编号插入数据
set identity_insert TblTeacher on
insert into TblTeacher (tTId ,tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )
values(8,'陈红军','true',27,10000,'1980-10-10');
set identity_insert TblTeacher off
---只能插一条记录
insert into TblTeacher values('辛兴涛',1,27,8000,'1983-12-10');
--union/union all
insert into TblTeacher
select 'Chris',1,20,1500,'1999-9-9'union
select 'James',1,20,1600,'1999-10-9'union
select 'Tom',1,20,1700,'1999-9-12'union
select 'Marry',1,20,1500,'1999-11-9'
insert into TblTeacher
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5'
--备份数据:将一个表中的数据备份到另外一个表中
--将TblTeacher表中的数据备份到另外一个表中NewTeacher中
select * from TblTeacher
select * into NewTblTeacher from TblTeacher
--前提是,NewTblTeacher 不存在,如果存在就会报错
--向一个已存在的表中插入数据,数据的来源是另外一张表(两个表中的内容都进来了)
insert into NewTblTeacher(tTName,tTAge )
select tTName,tTAge from TblTeacher
--在写SQL语句的时候,如果有字符串常量,应该在前面加上N,前面加N表示什么?不加为什么不出错啊?
--编译器将来是要把编译器中的代码取出来交给sqlserver数据库引擎来处理。
--译器是英文版的,那么对于中文字符串常量来说就会乱码
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values(N'陈红军',1,27,10000,'1980-10-10');
--数据更新
--将表中的年龄为20的人都改为19岁
select * from TblTeacher
update TblTeacher set tTAge=19 where tTAge=20;
这是今天下午亲手敲过的代码、也是老师上课讲的例题
--创建数据库TestSchool
create database TestSchool
on primary
(
name='TestSchool.mdf',
filename='c:\test\TestSchool.mdf',
filegrowth=10%
)
log on
(
name='TestSchool.mdf',
filename='c:\test\TestSchool_log.ldf'
)
--创建表TblScore
create table TblScore
(
tSoreId int identity(1,1) primary key,
tSId int not null,
tEnglish float,
tMath float,
)
go
--创建表TblTeacher
create table TblTeacher
(
tTId int identity(1,1) primary key,
tTName nvarchar(10) not null,
tTGender bit default(0),
tTAge int ,
tTSalary money,
tTBirthday datetime,
)
go
--***************************跨数据库访问:数据库名..表名
use TestSchool
select *into mynewDepartment from heSoft..T_Department
--mynewDepartment其实这表原来不存在,但是select * into mynewDepartment from heSoft..T_Department
--就会把1.新建的mynewDepartment,2.然后表其他数据库中的表的结构copy到新表中。
--************给TbleTeacher表中插入数据
--(1)最基本的数据插入
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('姚宏波',1,27,10000,'1980-10-10');
--(2)只向某些列插入数据
insert into TblTeacher (tTName,tTSalary )values('李雨锦',5000)
---不建议这么写
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('李伟','true',27,10000,'1988-10-10');
--自动编号会跳跃
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values('陈红军',1,27,10000,'1980-10-10');
insert into TblTeacher (tTId ,tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values(8,'陈红军','true',27,10000,'1980-10-10');
--为自动编号插入数据
set identity_insert TblTeacher on
insert into TblTeacher (tTId ,tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )
values(8,'陈红军','true',27,10000,'1980-10-10');
set identity_insert TblTeacher off
---只能插一条记录
insert into TblTeacher values('辛兴涛',1,27,8000,'1983-12-10');
--union/union all
insert into TblTeacher
select 'Chris',1,20,1500,'1999-9-9'union
select 'James',1,20,1600,'1999-10-9'union
select 'Tom',1,20,1700,'1999-9-12'union
select 'Marry',1,20,1500,'1999-11-9'
insert into TblTeacher
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5' union
select'辛兴涛',1,28,1900,'1989-12-5'
--备份数据:将一个表中的数据备份到另外一个表中
--将TblTeacher表中的数据备份到另外一个表中NewTeacher中
select * from TblTeacher
select * into NewTblTeacher from TblTeacher
--前提是,NewTblTeacher 不存在,如果存在就会报错
--向一个已存在的表中插入数据,数据的来源是另外一张表(两个表中的内容都进来了)
insert into NewTblTeacher(tTName,tTAge )
select tTName,tTAge from TblTeacher
--在写SQL语句的时候,如果有字符串常量,应该在前面加上N,前面加N表示什么?不加为什么不出错啊?
--编译器将来是要把编译器中的代码取出来交给sqlserver数据库引擎来处理。
--译器是英文版的,那么对于中文字符串常量来说就会乱码
insert into TblTeacher (tTName,tTGender ,tTAge ,tTSalary ,tTBirthday )values(N'陈红军',1,27,10000,'1980-10-10');
--数据更新
--将表中的年龄为20的人都改为19岁
select * from TblTeacher
update TblTeacher set tTAge=19 where tTAge=20;
相关文章推荐
- 数据库复习总结(22)-触发器和游标
- 22---数据库编程10(callablestatement)
- 数据库管理复习之oracle 10 G 闪回操作
- 数据库复习总结(10)-数据备份
- 数据库复习10——PL/SQL
- 数据库复习日志oracle 10 g 数据库备份和恢复(1)
- Android创建和使用数据库详… 分类: Android数据存储 2014-05-30 10:58 71人阅读 评论(0) 收藏
- exchange 2013 lesson 10 -数据库操作
- 10-03-22 -- 10-03-25 期待
- PHP学习笔记【22】--PHP数据库编程 mysql扩展库 和mysqli扩展库
- 数据库复习⑥
- Java复习-处理数据库结果集和处理blob类型的数据
- 数据库复习-2.概念模型
- 10步骤优化SQL Server 数据库性能 (转)
- java基础复习--复习总结10
- cmd 链接 数据库复习 (1)
- PTA:7-22 奇偶分家(10 分)
- 【数据库复习_存储过程】
- 复习连接数据库--制作SQLHelper类完成登陆注册
- 数据库常规top 10