Sql基础语句2

来源:互联网 发布:随手记mac版 编辑:程序博客网 时间:2024/05/22 07:41
-- 创建一个员工表:create table Employees(EmpId int identity(1,1),EmpName varchar(50),EmpGender char(2),EmpAge int,EmpEmail varchar(100),EmpAddress varchar(500))-- 创建一个部门表:create table Department(DepId int identity(1,1) primary key,DepName varchar(50) unique not null)-- 查询数据库:select * from Employeesselect * from Department-- alert: JavaScript;-- alter: 更改数据库;-- 删除一个指定的列(删除EmpAddress列):alter table Employees drop column EmpAddress-- 删除列需要关键字 column-- 添加一列(EmpAddress):alter table Employees add EmpAddress varchar(100)-- 添加列不需要关键字 column-- 修改 EmpEmail 的数据类型 为 varchar(200):alter table Employees alter column EmpEmail varchar(200)-- 给EmpId添加主键约束:alter table Employees add constraint PK_Employees_EmpId primary key (EmpId)-- 为 EmpName 添加一个非空约束:alter table Employees alter column EmpName varchar(50) not null-- 为 EmpName 添加一个唯一约束:alter table Employees add constraint UQ_Employees_EmpName unique (EmpName)-- 添加一条数据:insert into Employees values('张三', '男', 22, 'zs@163.com', '上海')-- 为 EmpGender 设置默认约束:alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender-- 添加一条数据:EmpGender 会显示为默认值。insert into Employees values('李四', default, 32, 'ls@163.com', '南京')-- 为 EmpAge 添加检查约束:年龄必须在1-100之间;alter table Employees add constraint CK_Employees_EmpAge check (EmpAge>0 and EmpAge<121)-- 添加一条年龄大于 120 的数据,insert into Employees values ('虎子', default, 130, 'hz@163.com', '徐州')-- 出现错误:INSERT 语句与 CHECK 约束"CK_Employees_EmpAge"冲突。该冲突发生于数据库"TestDataDB",表"dbo.Employees", column 'EmpAge'。-- 查询指定列的数据:select EmpName, EmpGender from Employees-- 给列名起别名:-- 第一种方法:select EmpName as '姓名', EmpGender as '性别' from Employees -- 第二种方法:select EmpName as 姓名, EmpGender as 性别 from Employees -- 第三种方法:select 姓名=EmpName,性别=EmpGender from Employees-- 查询当前时间:select GETDATE()-- select 结果显示在 "结果" 中;print '当前时间'-- print 结果显示在 “消息” 中;-- 查询所有数据:select * from Employees-- 查询前三条数据:select top 3 * from Employees-- 数据库中的数据存储是无序的。-- 查询年龄最小的三个人:可以先使年龄从小到大排列,然后取前三条数据;select top 3 * from Employees order by EmpAge-- 默认排序就是从小到大-- 查询年龄最大的前 40% 的人:percent 表示百分号select top 40 percent * from Employees order by EmpAge desc-- 从大到小排序 -- 查询数据时去除重复的数据:select distinct EmpGender from Employees -- 聚合函数:-- 查询所有数据:select * from Employees-- 查询数据库中数据的数量:select count(*) from Employees-- 查询最大的年龄:select max(EmpAge) from Employees-- 查询最小的年龄:select min(EmpAge) from Employees-- 查询年龄的总和:select SUM(EmpAge) from Employees-- 查询平均年龄:select avg(EmpAge) from Employees-- 查询年龄在20和30之间的男雇员:-- 方法一:select * from Employees where EmpAge>20 and EmpAge<30 and EmpGender='男'-- 方法二:用 between...and 包括20和30,而且该语句执行效率高.select * from Employees where EmpGender='男' and EmpAge between 20 and 30-- 查询年龄为12/22/32的雇员:-- 方法1:select * from Employees where EmpAge=12 or EmpAge=22 or EmpAge=32-- 方法2:select * from Employees where EmpAge in(12,22,32)-- 模糊查询:-- 插入数据:insert into Employees values('张无忌', '男', 120, 'zwj@163.com', '光明顶')insert into Employees values('龚长张', '女', 28, 'gcz@163.com', '黑木崖')insert into Employees values('小兵张嘎', '男', 15, null, '根据地')-- 查询 EmpName 为 '张' 的数据:select * from Employees where EmpName like '张'-- 查询 EmpName 以 "张" 开头的数据:select * from Employees where EmpName like '张%'-- 查询 EmpName 以 '张' 开头且是两个字符的数据:select * from Employees where EmpName like '张_'-- 查询 EmpName 以 '张' 开头且是三个字符的数据:-- 方法1:select * from Employees where EmpName like '张__'-- 方法2:select * from Employees where EmpName like '张%' and len(EmpName)=3-- 查询 EmpName 里带有 '张' 的:select * from Employees where EmpName like '%张%'-- 查询 EmpName 以 ‘张’ 开头,并且第一个字符为 小写字母,同时EmpName是三个字符的数据select * from Employees where EmpName like '张[a-z]_'-- 查询 EmpEmail 为 null 的数据:select * from Employees where EmpEmail is null-- 查询 EmpEmail 不为 null 的数据:select * from Employees where EmpEmail is not null

0 0
原创粉丝点击