sqlserver数据库
1、启动两个服务: sqlserver tcp/ip协议
2、使用:
登录:sqlserver身份验证
服务器名: . localhost 127.0.0.1
账号: sa
系统数据库:
master 系统核心数据库
model 模型数据库
msdb 警告信息数据库
tempdb 临时数据库
创建数据库
create database db_test1
使用数据库
use db_test1
创建表
create table tb_stu(
sid int,
sname varchar(20),
ssex varchar(10),
sage int,
saddress varchar(100)
)
create table tb_score(
cid int,
sid int,
score int
)
六大约束
主键约束:是用来标识表中唯一的键,它不能为空也不能重复,一个表里面只能有一个主键;
外键约束:fk foreign key
检查约束:ck check key
默认约束:default
唯一约束:unique
非空约束:is not unll
增加数据:insert into 表名 (列表) values (列对应的值)
主键标识列是不能手动增加,列和列对应的值必须保持个数、顺序、数据类型一致
insert into tb_stu(sname,sage,ssex,saddress)
values('小于',22,'男','猴子山')
增加整张表中的数据可以省略列明,但是数据类型必须跟数据库里面的数据保持一致
insert into tb_stu
values('小王','男',24,'猴子山')
批量增加 union(合并)
insert into tb_stu
select '小小','女',49,'浪琴湾' union
select '小二','男',29,'浪琴湾' union
select '小三','女',19,'浪琴湾' union
select '小四','男',20,'浪琴湾'
查询 select * from 表名
查询学生表
select * from tb_stu
--查询性别为男的学生学号 年龄 where后面接的是条件
select sid,sage from tb_stu where ssex='女'
--取别名
select 学号=sid,sage as 年龄 from tb_stu where ssex='女'
--按照年龄从大到小(order by 排序 desc降序 asc升序)
select * from tb_stu order by sage desc
--查询学号是2,4,6,10的学生信息 in(在什么什么里面或者是包含)
select * from tb_stu where sid=2 or sid=4 or sid=6 or sid=10
select * from tb_stu where sid in(2,4,6,10)
--查询年龄在15-30之间
select * from tb_stu where sage>=15 and sage <=30
select * from tb_stu where sage between 15 and 30
--查学号为前三名的学生信息
select * from tb_stu order by sid asc
--查学号为后三名的学生信息
select * from tb_stu order by sid desc
--查表中一半的学生
select top 50 percent* from tb_stu order by sid
--查询姓王的学生
select * from tb_stu where sname like '王%'
--查询第二个字为四的学生
select * from tb_stu where sname like '_四%'
修改
--update 表名 set 列名=修改后的值 语法是用逗号隔开
--将王五的姓名修改为猴子
update tb_stu set sname='猴子' where sname='王五'
--将所有的年龄增加2
update tb_stu set sage+=2
删除
--delect 表名 只会删除表中的数据
--drop table 表名 删除表结构
--drop database 数据库名 删除数据库
--将姓名叫小三的同学删除
delete tb_stu where sname='小三'
数据库备份
数据库还原