您的位置:首页 > 数据库

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息