成长之路第一天之数据库
数据库操作
--创建数据库
create database MyDatabaseOne
--删除数据库
drop database MyDatabaseOne
--创建数据库时候设置一些参数选项
create database MyDatabaseOne
on primary
(
--配置主数据文件选项
name='MyDatabaseOne',--主数据文件的逻辑名
filename='c:\MyDatabaseOne.mdf',--主数据文件的实际保存路径
size=5MB,
maxsize=150MB,
filegrowth=20%
)
log on
(
--配置日志文件的选项
name='MyDatabaseOne_log',--日志文件的逻辑名称
filename='c:\MyDatabaseOne_log.ldf',--日志文件的实际保存路径
size=5mb,--日志文件的初始大小
filegrowth=5mb
)
表的操作
--查询数据
select 列1,列2 from 表名 where 条件
as为列起别名
select tsid as 学生编号 from tbstudent
top获取前几条数据,top一般都与排序关键字order by连用order by 默认降序(asc)设置升序(desc)
select top 10 percent *from student order by age desc --获取最大的10% percent设置百分比
distinct去除重复数据
select distinct sName from student--去除重名的学生
--插入数据
insert into 表名(列1,列2,...) values(值1,值2,...)
--更新数据
update 表名 set 列=新值,列2=新值,...where 条件
--删除数据
delete from 表名 where 条件
--删除列
alter table 表名 drop column 列名
--增加列
alter table 表名 add 列名 列数据类型
--修改列数据类型
alter table 表名 alter column 列名 新数据类型
--为列增加主键约束
alter table 表名 add constraint PK_表名_列名 primary key(列名) --PK_表名_列名为主键名称
--非空约束
alter table 表名 alter column 列名 列数据类型 not null
--唯一约束
alter table 表名 add constraint UQ_表名_列名 unique(列名)
--默认约束
alter table 表名 add constraint DF_表名_列名 default (默认值--字符创加单引号) for 列名
--检查约束
alter table 表名 add constraint CK_表名_列名 check(条件)--例(列名=‘男’ or 列名=‘女’)
--外键约束
alter table 外键表名 add constraint FK_表名_列名 foreign key(外键列名) references 主键表名(主键列名)
聚合函数
MAX(最大值)、MIN(最小值)、AVG(平均值)、SUM(求和)、COUNT(数量:记录的条数)
聚合函数对null值不计算
如果一行的数据都是null,count(*)包含对空值行,重复行的统计
select sum(age) as 年龄总和 from student
select count(*) as 总记录条数 from student
select max(age) as 年龄最大 from student
select avg(age) as 平均年龄 from student
模糊查询
通配符:
_(下划线):匹配任意一个字符
select * from student where name like '张_' --查询姓张(注意只匹配一个,所以名字必须是两个字姓张的)
%(百分号):匹配任意多个任意字符
select * from student where name like '张%' --查询姓张(注意匹配多个个,所以名字是任意长度)
select * from student where name like '张%' and len(name)=2 --查询姓张(注意名字长度为2)
[ ](中括号):表示筛选
select * from student where name like '张[0-9]妹' --查询姓张加0-9任意数字加妹
^(非符号):表示非
select * from student where name like '张[^0-9]妹' --查询姓张非0-9任意数字加妹
空值处理
select * from student where age is null--判断空值用is 不能用等于号判断非空值用is not null

浙公网安备 33010602011771号