English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SqlServer에서 데이터베이스 테이블을 작성하는 방법(데이터베이스 만들기, 테이블 만들기, 수정 문장)

学习要点:

  SQL에 대해-建库、建表、建约束、关系SQL基本语句大全.txt举得起放得下叫举重,举得起放不下叫负重。头要有勇气,抬头要有底气。学习要加,骄傲要减,机会要乘,懒惰要除。人生三难题:思,相思,单相思。

SQL에 대해-데이터베이스 생성, 테이블 생성, 제약 조건, 관계, 일부 T-SQL 문

---데이터베이스 생성하기 데이터베이스 생성하기 전에 먼저 데이터베이스에 이미 존재하는 여분 데이터베이스가 있는지 확인하여 지우는 것이 좋습니다 
--- if exists(select * from sys.sysdatabases where name='ConstructionDB')begin use master drop database ConstructionDB end go create database ConstructionDB on()
if exists(select * from sysobjects where name ='ConstructionDB') --查找命令
drop DATABASE ConstructionDB --删除 命令
Create database ConstructionDB
on(
name='ConstructionDB_date',
filename='E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.mdf',
size=3mb,
maxsize=10mb,
filegrowth=5% --增长速度为
)
log on(
name='ConstructionDB_log',
filename='E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.ldf',
size=2mb,
maxsize=5mb,
filegrowth=1mb
)
--使用T-SQL语句创建表
use ConstructionDB
go
---查询 库中是否存在 此表 存在则删除
if exists(select * from sysobjects where name = 'T_flow_step_def') 
drop table T_flow_step_def
--- 方法二
IF OBJECT_ID (N'bas_CardType') IS NULL
BEGIN --如果不存在该表,则进行创建
--drop table com_CodeRecord
--流程步骤定义表 
create table T_flow_step_def(
Step_no int not null, --流程步骤ID 
Step_name varchar(30) not null, --流程步骤名称 
Step_des varchar(64) not null, --流程步骤描述
Limit_time int not null, --时限
URL varchar(64) not null, --二级菜单链接 
비고 varchar(256) not null, 
)
---流程类别表
create table T_flow_type(
Flow_type_id char(3) not null, --프로세스 분류 번호 
Flow_type_name varchar(64) not null, --프로세스 분류 이름 
In_method_id char(3) not null, --입찰 방식 코드 
In_choice_id char(3) not null, --프로젝트 선택 코드 
비고 varchar(256) not null, 
)
---구간 상황 테이블
테이블 T_sub_project create
Project_id varchar(32) not null, ---공사 번호 
Sub_pro_id char(2) not null, -- 구간 번호 
Flow_type_id char(3) not null, --프로세스 분류 번호 
Sub_pro_name varchar(64) not null,--구간 이름(입찰 프로젝트 이름) 
Usb_no varchar(64) not null, --패스워드 잠금 번호
In_method_id char(3) not null, --입찰 방식 코드 
In_scope_id char(3) not null, --입찰 범위 코드 
In_choice_id char(3) not null, --프로젝트 선택 코드 
Proj_type_id char(3) not null, --프로젝트 성질 코드 
Engi_type_id char(1) not null, --공사 성질 코드
Pack_type char(1) not null, ---발송 방식 
Grade_type_idv char(1) not null,--평점 분류 번호
Flag_done char(1) not null,--완료 표시 
Flag_forcebreak char(1) not null,--강제 중지 표시 
비고 varchar(256) not null,
)
--데이터베이스 이름이 'sql_test'인 데이터베이스 생성
데이터베이스 sql_test 생성
go 
--데이터베이스 sql_test 열기
use sql_test
go
--학생 테이블 생성
테이블 学生 create
(학생编号 char(4) 주요 키, 학생 이름 varchar(50)not null)
go
--학생 테이블 수정
테이블 学生 alter 
반编号 char(4) null --반编号 필드 추가
-- (주의: 추가할 필드가 비어 있지 않으면 추가할 수 없습니다)
go
--반 테이블 생성
테이블 반 create
(반编号 char(4) 주요 키, 반 이름 varchar(50)not null)
go
--커리큘럼 테이블 생성
테이블 课程 create
(课程编号 char(4) 주요 키, 课程名称 varchar(50) null, 개강일 datetime )
go
--커리큘럼 테이블 수정
테이블 课程
커리큘럼 코드 varchar(10) null --커리큘럼 코드 필드를 추가합니다
go
테이블 课程
컬럼 开课日期 drop --개강일 필드를 제거합니다
go
테이블 课程
컬럼 课程名称 varchar(20) null --课程名称 필드를 수정합니다
go
--建立一个product_test_one 表,与下个表类似,只不过在constraint前面有个‘逗号’不影响执行
create table product_test_one
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null, constraint pk_id primary key clustered (id)
)
go
--建立一个product_test_two 表
create table product_test_two
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null constraint pk_id2 primary key clustered (id)
)
go
--删除表 pruduct_test_one表
drop table product_test_one
go
--建立一个student表,使其中的 name 字段具有唯一性
create table student 
(
id char(8), name char(10) --表字段
constraint pk_id primary key (id), --添加一个主键约束 
constraint uk_name unique (name) --添加一个唯一性约束
)
go
--建立一个student4表,同上 (注意:constraint 与constraint 之间一定要有逗号,否则出错!)
create table student4 
(
id char(8), name char(10) --表字段
constraint pk_id4 primary key (id), constraint uk_name4 unique (name)
)
go
-- 删除表student4
drop table student4
go
--建立一个student3表,同上
create table student3
(
id char(8), name char(10), --表字段
constraint pk_id3 primary key (id) ,constraint uk_name3 unique (name)
)
go
--删除表student3
drop table student3
go
--constraint 约束名 check(逻辑条件表达式)
--创建一个‘员工’表,使其输入的性别字段(sex)只能接受‘m’或则‘f’,而不能接受其他数据
--并且为phone字段创建检查约束,限制只能输入类似0108564712之类的数据,而不能随意输入其他数据
create table employee
(
id char(5),name char(20),sex char(2),phone int
constraint pk_zid primary key (id), --이 사이에는 ‘콤마’로 구분되어야 하며, 주키 제약 조건을 정의해야 합니다.
)constraint chk_sex check (sex in (‘f’, ‘m’)),
)constraint chk_phone check (phone like ‘(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]‘)
)
go
--constraint 제약 조건 이름 default 제약 표현식 [for 필드 이름]
-- ‘기본 제약 조건’ 테이블을 생성하며 sex 필드에 기본 제약 조건을 생성
)create table 기본 제약 조건
(
id char(5)primary key ,sex varchar(2)constraint con_sex default ‘m’ 
)
go
--‘기본 제약 조건’ 테이블을 수정
)alter table 기본 제약 조건
add name varchar(10)null constraint con_name default ‘你好宝贝’ --‘name’ 필드를 추가하고 기본 값은 ‘你好宝贝'
go
--반 테이블에 추가8개 기록
insert into 반 values('bj01', ‘一班’)
insert into 반 values('bj02', ‘二班’)
insert into 반 values('bj03', ‘三班’)
insert into 반 values('bj04', ‘四班’)
insert into 반 values('bj05', ‘五班’)
insert into 반 values('bj06', ‘六班’)
insert into 반 values('bj07', ‘七班’)
insert into 반 values('bj08', ‘八班’)
go
--반의 모든 기록을 표시
select * from 반
go
--반 테이블에 반编号가 bj0보다 큰6의 기록
delete from 반 where 반编号>‘bj06‘
go
--반의 모든 기록을 표시
select * from 반
go
--학생 테이블에 기록을 추가
insert into 학생 values('xs01', 'one', 'bj01‘)
insert into 학생 values('xs02', 'two', 'bj01‘)
insert into 학생 values('xs03', 'three', 'bj01‘)
insert into 학생 values('xs04', 'four', 'bj02‘)
insert into 학생 values('xs05', 'five', 'bj03‘)
insert into 학생 values('xs06', 'six', 'bj02‘)
insert into 학생 values('xs07', 'seven', 'bj04‘)
insert into 학생 values('xs08', 'eight', 'bj03‘)
insert into 학생 values('xs09', 'nine', 'bj04‘)
insert into 학생 values('xs10', 'ten', 'bj05‘)
insert into 학생 values('xs11', 'eleven', 'bj06‘)
insert into 학생 values('xs12', 'twleve', 'bj06‘)
go
--학생의 모든 기록을 표시
select * from 학생
go
--연결 쿼리
select * from 학생, 반 where 학생.반编号=반.반编号
go
--이 효과는 위의 것과 동일합니다
--선택된 연결 쿼리
select 학생.학생编号, 반.반编号, 학생.학생이름, 반.반이름 from 학생, 반 where 학생.반编号=반.반编号
go
--이 효과는 위의 것과 동일합니다
--1반 학생을 검색합니다
select* from 학생 where 반 번호 in(select 반 번호 from 반 where 반 번호=‘bj01‘)
go
--위의 쿼리 문장과 동일한 기능
select a.학생 번호,a.학생 이름,a.반 번호 from 학생 as a, 반 as b where a.반 번호=b.반 번호 and b.반 번호=‘bj01‘
go
--1반 학생 인원 수를 통계합니다
select count(학생 번호)as 학생 통계 from 학생 
where 반 번호 in(select 반 번호 from 반 where 반 번호=‘bj01‘)
go
--group의 사용 방법과 count() 함수의 사용 방법
--1반 학생 인원 수를 통계하며, 학생 이름과 반 번호를 표시합니다
select count(학생 번호)as 학생 통계, 학생 이름, 반 번호 from 학생 
where 반 번호 in(select 반 번호 from 반 where 반 번호=‘bj01‘)
group by 반 번호, 학생 이름
go

위에서 소개한 SqlServer 데이터베이스 테이블 작성 방법(데이터베이스 생성, 테이블 생성, 수정 문장)은 많은 도움이 되길 바랍니다. 어떤 질문이나 의문이 있으면 댓글을 남겨 주시면, 편집자가 즉시 답변 드리겠습니다. 또한,呐喊教程 사이트에 대한 지원에 감사드립니다!

선언: 본 내용은 인터넷에서 가져왔으며, 저작권자에게 소유됩니다. 인터넷 사용자가 자발적으로 기여하고 업로드한 내용으로, 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용이 있으면, notice#w 이메일로 보내 주시기 바랍니다.3codebox.com(이메일을 보내면, #을 @으로 변경하십시오. 신고하고 관련 증거를 제공하시면, 사이트는 즉시 저작권 침해 내용을 삭제합니다. 실제로 확인되면 그렇습니다.

좋아하는 것 추천