3.5.1 Insertar datos
de dos tipos de modo de datos insertos
- Insertar tupla
- Insertar resultados sub-consulta
pueden insertar varias tuplas
Insertar tupla
INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>]… );
[Ejemplo 3.72] para cada departamento, se encontró que la edad promedio de los estudiantes, y los resultados se almacenan en la base de datos
CREATE TABLE Dept_age
( Sdept CHAR(15)
Avg_age SMALLINT);
INSERT
INTO Dept_age(Sdept,Avg_age)
SELECT Sdept,AVG(Sage)
FROM Student
GROUP BY Sdept;
Cuando la ejecución de la instrucción de inserción RDBMS comprueba automáticamente el insertada tupla destruir las reglas de integridad definidos en la tabla
- la integridad de entidad
- La integridad referencial
- integridad definido por el usuario
3.5.2 Modificar datos
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
[WHERE <条件>];
Función de
modificar las condiciones de la cláusula WHERE que cumplen con la tabla especificada tuplas
SET cláusula dada <expresión> sustituido por las correspondientes columnas de atributos
si DONDE se omite la cláusula, según todas las tuplas para modificar la tabla
Existen tres tipos de modificaciones
- La modificación de los valores de una tupla
- Modificar el valor de la pluralidad de tuplas
- instrucciones de modificación de la consulta Correa
1. Modificar los valores de una tupla
[Ejemplo 3.73] 201 215 121 estudiantes de edad a 22 años
UPDATE Student
SET Sage=22
WHERE Sno=' 201215121 ';
2. Modificar los valores de la pluralidad de tuplas
[Ejemplo 3.74] estudiantes se incrementará en 1 año de edad.
UPDATE Student
SET Sage= Sage+1;
3. modificar las consultas de cinta frase
[Ejemplo 3.75] Departamento de Ciencias de la Computación todos los estudiantes de los grados cero.
UPDATE SC
SET Grade=0
WHERE Sno IN
SELETE Sno
FROM Student
WHERE Sdept= 'CS' );
RDBMS en la ejecución de las instrucciones de modificación comprobarán si corregir las reglas de integridad de entidad operativa se define socavan la integridad de la tabla
de código principal no se puede modificar la integridad definida por el usuario
3.5.3 datos de borrado
DELETE
FROM <表名>
[WHERE <条件>];
Función
para borrar la tabla especificada que satisfacen la cláusula DONDE condiciones tupla
en la cláusula WHERE
tuplas que debe ser suprimido por defecto se comprometió a eliminar todas las tuplas de la tabla, la tabla está todavía definido diccionario
Existen tres tipos de formas de eliminar
- Eliminar el valor de una tupla
- Eliminar tuplas de valores múltiples
- instrucción de eliminación de la correa de consulta
1. Eliminar el valor de una tupla
[Ejemplo 3.76] número de estudiante de borrado de registros de estudiantes 201,215,128.
DELETE
FROM Student
WHERE Sno= 201215128 ';
2. Eliminar el valor de una pluralidad de tuplas
[Ejemplo 3.77] para borrar todos los registros de la inscripción de los estudiantes.
DELETE
FROM SC
3. La caída de la correa de consulta comunicado
[3,78 casos] Departamento de Ciencias de registro informático de golf borrar todos los estudiantes.
DELETE
FROM SC
WHERE Sno IN
(SELECT Sno
FROM Student
WHERE Sdept= 'CS') ;
[Ejemplo 3.79] SC insertado en una lista de tuplas, el número de estudiante es "201215126", número de curso es "1", el resultado es nulo.
INSERT INTO SC(Sno,Cno,Grade)
VALUES('201215126 ','1',NULL);
o
INSERT INTO SC(Sno,Cno)
VALUES(' 201215126 ','1');
[Ejemplo 3.80] El número Tabla de alumnos estudiantes de secundaria basada "201215200" estudiante pertenece a un valor nulo.
UPDATE Student
SET Sdept = NULL
WHERE Sno='201215200';
[Ejemplo 3.81] para averiguar a través de la Tabla de alumnos de la información del estudiante que falta de datos
SELECT *
FROM Student
WHERE Sname IS NULL OR Ssex IS NULL OR Sage IS NULL OR Sdept IS NULL;
[Ejemplo 3.82] para encontrar el número de cursos electivos 1 estudiante que ha fallado.
SELECT Sno
FROM SC
WHERE Grade < 60 AND Cno='1';
[Ejemplo 3.83] estudiantes que no elegir cursos electivos No. 1 y estudiantes ausentes. SELECT Sno
FROM SC
WHERE Grade < 60 AND Cno='1'
UNION
SELECT Sno
FROM SC
WHERE Grade IS NULL AND Cno='1'
o
SELECT Sno
FROM SC
WHERE Cno='1' AND (Grade<60 OR Grade IS NULL);
Establecimiento de vista
CREATE VIEW
<视图名> [(<列名> [,<列名>]…)]
AS <子查询>
[WITH CHECK OPTION];
[Ejemplo 3.84] vista la información del estudiante establecida.
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept= 'IS';
[Ejemplo 3.85] Ver Establecimiento del estudiante información y modificar los requisitos y todavía asegurar que la información de los estudiantes vista del sistema sólo la operación de inserción.
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept= 'IS'
WITH CHECK OPTION;
[Ejemplo 3.86] establecer un departamento de información inscrito estudiantes No. 1 vista curso (incluyendo el número, nombre, resultados).
CREATE VIEW IS_S1(Sno,Sname,Grade)
AS
SELECT Student.Sno,Sname,Grade
FROM Student,SC
WHERE Sdept= 'IS' AND
Student.Sno=SC.Sno AND
SC.Cno= '1';
[Ejemplo 3.87] establecer un sistema de información No. 1 cursos electivos y rendimiento de los estudiantes en vista de 90 puntos o más.
CREATE VIEW IS_S2
AS
SELECT Sno,Sname,Grade
FROM IS_S1
WHERE Grade>=90;
[Ejemplo 3.88] definir un reflejo del año de nacimiento del estudiante de vista.
CREATE VIEW BT_S(Sno,Sname,Sbirth)
AS
SELECT Sno,Sname,2014-Sage
FROM Student;
[Ejemplo 3.89] El número de estudiantes de aprendizaje y la puntuación media se define como una vista
CREATE VIEW S_G(Sno,Gavg)
AS
SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno;
[Ejemplo 3.90] la tabla de Student registra toda la vista chicas se define como una
CREATE VIEW F_Student(F_Sno,name,sex,age,dept)
AS
SELECT *
FROM Student
WHERE Ssex=‘女’;
[Ejemplo 3.91] y vista delete BT_S IS_S1
DROP VIEW BT_S; /*成功执行*/
DROP VIEW IS_S1; /*拒绝执行*/