sql server数据库增删改查(库与表)

SQL server 数据库 表基本操作

  • 数据库操作命令体系
create  创建
alter   修改
drop    删除
insert  添加
update  更新
delete  删除
select  查询
  • 创建库

  • create database t223
    on primary
    (name=‘t223.mdf’,
    filename=‘E:\data\t223.mdf’,
    size=20mb,
    filegrowth=10mb,
    maxsize=200mb
    )

  • 创建表

  • 先连接数据库
    use 库名

  • 创建
    create table 表名(id int,name varchar(5),sex char(2),date datetime)

注释:
int	4字节存储
char:  固定长度的非Unicode字符,最大8000字符,当数据不满足定义长度时,添加空格进行占位。读写速度快,占用空间大。
varchar: 不固定长度的非Unicode字符,最大8000字符,不添加占位空格。
date  : 日期,格式年--日,
time  : 时间,小时:分钟:秒
datetime : 日期时间   年--日 小时:分钟:
  • 写入数据

  • insert into biao1 values 添加表1的数据(第一行)
    (1,‘zs’,‘男’,‘2020-10-19’) 表1第一行内容
    insert into biao1 values 添加表1的数据(第二行)
    (2,‘xx’,‘女’,‘2021-10-19’) 表1第二行内容

  • 批量写入数据

  • insert into biao1 (id,name,xb,age,csny,jg,gl,tel)
    select 1,‘张三’,‘男’,18,‘2003-01-01’,‘北京’,4,111
    union select 2,‘李三’,‘男’,28,‘2002-01-01’,‘山西’,5,222
    union select 3,‘李四’,‘女’,38,‘2001-01-01’,‘上海’,6,333

  • 添加修改字段

  • 添加字段工龄,数据类型int, 非空约束

alter table biao1
add gl int not null
  • 修改字段名sex(性别)为xb
exec sp_rename 'biao1.sex','xb'
  • 给表添加tel字段,用来输入员工号码
alter table biao1
add tel char(20)
  • 创建一个新的表,给id字段添加外键约束
create table biao2
(id int not null ,
constraint zw_id foreign key(id) references biao1(id))

添加约束

1.添加非空约束

alter table 表名 alter column 字段名 数据类型 not null

此命令可以单独修改字段的数据类型,修改数据类型时要符合已有数据的兼容性,如果是空表则可以随意修改。

  1. 添加主键约束

先给字段添加非空约束,然后再添加主键约束

alter table 表名
add constraint  约束名  primary key(字段名)

3.添加唯一性约束

alter table 表名
add constraint  约束名 unique(字段名)

4.添加检查约束

alter table 表名
add constraint  约束名 check(表达式)

5.添加默认约束

alter table 表名
add constraint  约束名 default '默认值' for 字段名

6.添加外键约束

alter table 表名
add constraint 约束名 foreign key(设置外键字段) references 引用表名(引用字段名)
  • 修改数据
  • update
update  表名  set  字段名=修改后的数值  where  查询条件
  • 查看表结构
exec sp_help 表名

小扩展(干货)

  • 例子
create table biao1
(id int primary key,    --int:整数为四字节      创建主键--
name char(8) unique,      --unique 唯一约束--
age int check(age>=18 and age<=30),   --check 检查约束 (大于等于18小于和等于30--
sex char(2)check(sex='男'or sex='女'),   --char 固定长度字符    check(男或者女)--
jg varchar(20)not null,  --varchar 可变长字符 not null 非空约束--
gz money,       --money 货币型字符--
zw varchar(20))
  • 写入多行数据(union)
insert into biao1 select 1,'王gx',20,'男','吕梁',100000,'中单'
union select  2,'张三',30,'女','山西',1000,'上单'
union select  3,'李四',19,'男','地球',10000,'打野'
  • 查询
select biao1.name from biao1 where age>18and age<30
--从表1中年龄大于18小于30的参数中查找名字--
select biao1.name,biao1.jg,biao1.gz from biao1 where zw='上单'
--从表1中职位为上单的参数中查找名字籍贯和工资--
select biao1.name,biao1.zw from biao1 where gz<10000
--从表1中工资小于10000的参数中查找名字和职位--
select biao1.zw,biao1.name from biao1 where sex='女'and age>18
--从表1中性别为女并且年龄大于18的参数中查找职位名字--
select biao1.gz from biao1 where zw='打野'
--从表1中职位为打野的参数中查找工资--
select biao1.jg,biao1.gz,biao1.age from biao1 where zw='上单'
--从职位为上单的参数中查找籍贯工资和年龄—
注:后面会持续更新数据库与表的详细查询

你可能感兴趣的:(SQL,sql,数据库,程序人生,经验分享)