数据定义语言(DDL)是指用来定义和管理数据库以及数据库中各种对象的语句,这些语句包括CREATE、ALTER和DROP等。在SQL Server中,数据库对象包括表、视图、触发器、存储过程、规则、默认、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE,ALTER,DROP等语句来完成。
创建如图所示表,使用DDL语言如何创建???
代码语言:javascript复制 CREATE TABLE Persons
( Id int not null,
LastName varchar(255) not null,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
PRIMARY KEY (Id)
)
如何再增加一个字段???
代码语言:javascript复制ALTER TABLE Persons ADD Birthday date --添加一个字段Birthday
ALTER TABLE Person DROP COLUMN Birthday --删除字段Birthday
ALTER TABLE Persons ALTER COLUMN Birthday year --修改字段Birthday的属性
DROP 语句
DROP 可以删除索引、表和数据库。
DROP TABLE 表名称 (删除表的结构、属性以及索引也会被删除)
TRUNCATE TABLE 表名称 (去表内的数据,但并不删除表本身)
DROP DATABASE 数据库名称 (删除数据库)
代码语言:javascript复制DROP TABLE Persons
TRUNCATE TABLE Persons
DROP DATABASE Test_DB
数据操纵语言(DML)
数据操纵语言(DML)是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。
INSERT语句用于向数据库表或者视图中加入一行数据。INSERT语句的语法形式如下:
INSERT [INTO] table_or_view [(column_list)] VALUES(data_values)
其中,table_or_view是指要插入新记录的表或视图;column_list是可选项,指定待添加数据的列;VALUES子句指定待添加数据的具体值。列名的排列顺序不一定要和表定义时的顺序一致。但当指定列名表时VALUES子句值的排列顺序必须和列名表中的列名排列顺序一致,个数相等,数据类型一一对应。
代码语言:javascript复制INSERT INTO Persons VALUES (1,'Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
--在指定的列中插入数据:
INSERT INTO Persons (Id,LastName, Address) VALUES (2,'Wilson', 'Champs-Elysees')
SELECT * FROM Persons --查询表中所有数据
UPDATE 语句
UPDATE用于更新表中已经存在的数据 。
UPDATE语句既可以一次更新一行数据,也可以一次更新许多行,甚至可以一次更新表中的全部数据行。
在UPDATE语句中,使用WHERE子句指定要更新的数据行满足的基本条件,使用SET子句给出新的数据。新数据既可以是常量,也可以是指定的表达式 。
代码语言:javascript复制UPDATE table_or_view_name SET column_name = expression, … WHERE search_condition
--Eg1:更新某一行中的一个列
UPDATE Persons SET FirstName = 'Fred' WHERE LastName = 'Wilson’
--Eg2:更新某一行中的若干列
UPDATE Persons SET Address = 'Zhongshan 23', City = 'Nanjing’
WHERE LastName = 'Wilson'
DELETE 语句
当表中的数据不再需要时,可以删除。一般情况下,使用DELETE语句删除数据。DELETE语句可以从一个表中删除一行或多行数据。
DELETE FROM table_or_name WHERE search_condition
代码语言:javascript复制DELETE FROM Person WHERE LastName = 'Wilson’
SELECT 语句
用于检索表中数据,结果被存储在一个结果表中(称为结果集)。
SELECT 列名称 FROM 表名称 WHERE 条件
代码语言:javascript复制SELECT LastName,FirstName FROM Persons --查询表中LastName,FirstName所有记录
SELECT * FROM Persons WHERE City='Beijing' --查询City='Beijing' 的所有记录