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

Método de operación para escribir tablas de bases de datos SqlServer (creación de bases de datos, creación de tablas, instrucciones de modificación)

Puntos clave de aprendizaje:

  SQL es-Crear base de datos, crear tablas, crear restricciones, relaciones, lista completa de sentencias básicas de SQL. Que se pueda levantar y放下叫做举重,举得起放不下的叫做负重。La cabeza debe tener valentía, y mirar hacia arriba debe tener confianza. Aprender debe aumentar, orgullo debe disminuir, oportunidades deben multiplicarse, pereza debe dividirse. Las tres dificultades de la vida: pensar, pensar en amor, amor no correspondido.

SQL es-Crear base de datos, crear tablas, crear restricciones, relaciones, parte de T-sentencia sql

---Crear base de datos Crear una base de datos antes de hacer esto Verifique si ya existe la base de datos secundaria en la base de datos para poder eliminarla 
--- 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') --comando de búsqueda
drop DATABASE ConstructionDB --comando de eliminación
Create database ConstructionDB
on(
name='ConstructionDB_date',
filename='E:\pruebas de evaluación de habilidades módulo segundo (base de datos)\pruebas-1\tarea uno\ConstructionDB_date.mdf',
size=3mb,
maxsize=10mb,
filegrowth=5% --velocidad de crecimiento de
)
log on(
name='ConstructionDB_log',
filename='E:\pruebas de evaluación de habilidades módulo segundo (base de datos)\pruebas-1\tarea uno\ConstructionDB_date.ldf',
size=2mb,
maxsize=5mb,
filegrowth=1mb
)
--usar T-sentencia SQL para crear la tabla
use ConstructionDB
go
---consulta si existe esta tabla en la base de datos, si existe, elimínela
if exists(select * from sysobjects where name = 'T_flow_step_def') 
drop table T_flow_step_def
--- método dos
IF OBJECT_ID (N'bas_CardType') IS NULL
BEGIN --si no existe esta tabla, procede a crearla
--drop table com_CodeRecord
--tabla de definición del paso del flujo 
create table T_flow_step_def(
Step_no int not null, --ID del paso del flujo 
Step_name varchar(30) not null, --nombre del paso del flujo 
Step_des varchar(64) no nulo, --descripción del paso del flujo
Limit_time int not null, --límite de tiempo
URL varchar(64) no nulo, --enlace de menú de segundo nivel 
comentarios varchar(256) no nulo, 
)
---类别流程表
create table T_flow_type(
Flow_type_id char(3) no nulo, --número de categoría de proceso 
Flow_type_name varchar(64) no nulo, --nombre de categoría de proceso 
In_method_id char(3) no nulo, --código de método de licitación 
In_choice_id char(3) no nulo, --código de opción del proyecto 
comentarios varchar(256) no nulo, 
)
---tabla de situación del lote
crear tabla T_sub_project(
Project_id varchar(32) no nulo, ---número del proyecto 
Sub_pro_id char(2) no nulo, -- número del lote 
Flow_type_id char(3) no nulo, --número de categoría de proceso 
Sub_pro_name varchar(64) no nulo,--nombre del lote (nombre del proyecto de licitación) 
Usb_no varchar(64) no nulo, --número de candado de contraseña
In_method_id char(3) no nulo, --código de método de licitación 
In_scope_id char(3) no nulo, --código de alcance de licitación 
In_choice_id char(3) no nulo, --código de opción del proyecto 
Proj_type_id char(3) no nulo, --código de naturaleza del proyecto 
Engi_type_id char(1) no nulo, --código de naturaleza del proyecto
Pack_type char(1) no nulo, ---método de envío 
Grade_type_idv char(1) no nulo,--número de categoría de evaluación
Flag_done char(1) no nulo,--bandera de finalización 
Flag_forcebreak char(1) no nulo,--bandera de interrupción forzada 
comentarios varchar(256) no nulo,
)
--crear un nombre de base de datos 'sql_test'
crear base de datos sql_test
go 
--abrir la base de datos sql_test
usar sql_test
go
--crear tabla de estudiante
crear tabla estudiante
(número del estudiante char(4) clave primaria, nombre del estudiante varchar(50) no nulo)
go
--modificar la tabla de estudiante
modificar la tabla estudiante 
agregar número de la clase char(4) nulo --agregar número de la clase
-- (Nota: si el campo agregado no está vacío, no se puede agregar)
go
--crear tabla de clase
crear tabla clase
(número de la clase char(4) clave primaria, nombre de la clase varchar(50) no nulo)
go
--crear tabla de curso
crear tabla curso
(número del curso char(4) clave primaria, nombre del curso varchar(50) no nulo, fecha de inicio del curso datetime )
go
--modificar la tabla del curso
modificar la tabla curso
agregar código del curso varchar(10) nulo --agregar el campo código del curso
go
modificar la tabla curso
eliminar la columna fecha de inicio del curso --eliminar el campo fecha de inicio del curso
go
modificar la tabla curso
modificar la columna nombre del curso varchar(20) no nulo --Modificar el campo del nombre del curso
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 员工
(
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
--删除班级表里班级编号大于bj06的记录
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
--El efecto es el mismo que el anterior
--选择的连接查询
select 学生.学生编号,班级.班级编号, 学生.学生名字,班级.班级名称 from 学生,班级 where 学生.班级编号=班级.班级编号
go
--El efecto es el mismo que el anterior
--Consulta de estudiantes de clase 1
select* from estudiante where número de clase in (select número de clase from clase where número de clase = 'bj01)
go
--La función de esta consulta es la misma que la consulta anterior
select a. número de estudiante, a. nombre de estudiante, a. número de clase from estudiante as a, clase as b where a. número de clase = b. número de clase and b. número de clase = 'bj01"
go
--Estadísticas de número de estudiantes de clase 1
select count( número de estudiante) as estadísticas de estudiantes from estudiante 
where número de clase in (select número de clase from clase where número de clase = 'bj01)
go
--Uso de group y count() funciones
--Estadísticas de número de estudiantes de clase 1, y mostrar el nombre del estudiante y la clase a la que pertenece
select count( número de estudiante) as estadísticas de estudiantes, nombre de estudiante, número de clase from estudiante 
where número de clase in (select número de clase from clase where número de clase = 'bj01)
group by número de clase, nombre de estudiante
go

Lo que se menciona anteriormente es la forma de escribir tablas de bases de datos SqlServer que el editor le ha presentado a todos (creación de bases de datos, creación de tablas, modificaciones de sentencias), espero que sea útil para todos. Si tiene alguna pregunta, déjeme un mensaje y el editor responderá a tiempo. También agradezco mucho el apoyo de todos a la página web de呐喊教程!

Declaración: El contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido se ha contribuido y subido por los usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará