目录
sql语言分类
T-SQL语言主要由以下几部分组成:
DML数据操纵语言 | 用来查询、插入、删除、修改数据库中的数据 例如:insert、select、update、delete |
DDL数据定义语言 | 建立数据库、数据库对象、定义其列 例如:create、alter、drop、(大部分都是create开头) |
DCL数据控制语言(Data Control Lanuage) | 控制数据库组件的存取许可,存取权限 例如:crant、revoke |
DQL数据查询语言 | 虽然DQL有时被视为DML的一部分,但也可以单独分类,因为它专注于查询数据。
|
创建表
create table table_name
(
列名1 数据类型(大小),
列名2 数据类型(大小),
列名3 数据类型(大小),
…………
)
例如:
create table jingyu
(
num int identity (1,1) not null,
name nvarchar(16) not null,
phone bigint not null,
)
参数 | 属性 |
identity(1,1) | 表示该列为标识列,种子和增量值都是1。 |
not null | 表示该列不允许空值。 |
primary key | 表示该列为主键列。 |
check() | 表示为该列创建约束,括号内为约束条件。 |
修改表结构、添加、修改、删除
添加表的新列
ALTER table table_name
ADD 列名 数据类型(大小)
例如:添加
ALTER table jingyu
ADD notes nvarchar(160)
#添加notes(备注)列,数据类型为nvarchar,大小为166
修改表中列的数据类型
ALTER table table_name
ALTER column 列名 数据类型(大小)
例如:修改
ALTER table jingyu
ALTER column notes varchar(1626)
#修改jingyu表中的notes这一列,修改数据类型为varchar,大小为1626.
删除表的列
ALTER TABLE table_name
drop column 列名
例如:删除
ALTER table jingyu
drop column notes
#删除jingyu表中notes列。
删除表
DROP table table_name
例如:删除表
DROP table jingyu
#删除jingyu表。
插入数据
insert [into] <表名> [列名] values <值列表>
参数 | 含义 |
[into] | 是可选的,可以省略的。 |
表名 | 必须的,表中的列名是可选的。如果省略不写,则<值列表>中顺序与数据表中字段顺序保持一致。 |
多个列名与多个值列表用逗号分隔。 |
插入时需要注意的事项。
每次插入一整行数据,不可能只插入半行或几列数据。 |
数据值的数目必须与列数相同,每个数据值的数据类型、精度和小数位数也必须与相应的 列匹配。 |
INSERT 语句不能为标识列指定值,因为它的值是自动增长的。 |
对于字符类型的列,当插入数据的时候,需要使用单引号。 |
如果在设计表的时候指定某列不允许为空,则该列必须插入数据,否则将报告错误信息。 |
插入的数据项要求符合CHECK 约束的要求。 |
尽管可以不指定列名,但是应养成好习惯,明确指定插入的列和对应的值。 |
例如:插入数据
UPDATE employee SET 网站='csdn' WHERE 姓名='jingyu'
insert into jingyu
更新数据
UPDATE <表名> SET <列名=更新值> [WHERE <更新条件>]
参数 | 含义 |
SET | 后面可以紧随多个数据列的更新值,不限一个。 |
WHERE | 子句是可选的,用来限制条件。如果不限制,则整个表的所有数据行将被更新。 |
例如:
UPDATE employee SET 网站='csdn' WHERE 姓名='jingyu飞鸟'
jingyu飞鸟的网站被修改为csdn。
多个更改或添加可以使用逗号 ' , '来做分隔。
删除数据
DELETE FROM 表名 WHERE 删除条件
删除表中所有的记录
DELETE FROM 表名