sql server基础命令进行语句

一,创建库与表类

create database a;//创建数据库
//创建表
create table name(
 字段名 char(10),
 字段名2  char(10)
)
drop命令也是该使用方法

二,修改表数据

alter语句
//删除列
alter table student drop column 字段名;
//增加列
alter table student add column 字段名;

如 使用

use a;
create table xs(
xh char(10),
mz char(10),
cj char(10)
);
insert into xs values(
190107119,
'名字',
100
);

三,使用插入语句类

//插入语句,且必须跟字段相对应才可使用
insert into xs values(
190107119,
'名字',
100
);

四,设置外键类

条件:①–>具有被引用内容
②被引用内容具有唯一性

①修改的时候添加外键

语法:
# 添加外键: `Score` 表中的 `SubjectId`字段 关联 `Subject` 表的 `SubjectId` 字段
alter table `Score` add constraint score_subject 
foreign key(`SubjectId`)
references `Subject`(`SubjectId`);

②创建外键

-- 父表
create table if not exists `father_table`(
    `test_field1` int(4) primary key
)charset='utf8mb4';

-- 子表
create table if not exists `child_table`(
    `test_field1` int(4),
    foreign key(`test_field1`) references `father_table`(`test_field1`)
)charset='utf8mb4';//即创建两个字段进行关联

五,设置级联操作

如现在具有a,b两个表

#创建具有的a表
create table a
(
id  varchar(20) primary key,
password varchar(20) not null
)

#创建具有的b表
create table b
(
id int identity(1,1)  primary key,#identity(1,1)含义为自1进行自增一个
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
#即如果删除a表中的id数据,则b表中的useid为11的也会被删除
#如执行语句
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
delete a where id='11'#即删除id为a的数据的同时b数据为'11'的也会被删除

基础知识类

①数据类型

int类
smallint
longint
char类
char(2)
vchar(2)

②控制域命令
1.not null(表示既–>不空的状况语句)
2.check语句–>既检查语句

checki(Ssex=‘男’or Ssex=‘女’)

3.默认–>default
既默认参数

Ssex char(2) default '男'

4.设置一个表中主键的方法–>既主属性的设置方法

primary key (sno)

5.通配符
*号 -->用于数据库段上的通配符
%与_ -->只可用于字段的查询方法

③错误类型

①消息 4145,级别 15,状态 1,第 5 行 在应使用条件的上下文(在 ‘)’ 附近)中指定了非布尔类型的表达式。
典型原因–>既语句中可能使用了中文符号导致
②新关系必须至少有一对相关列–>设置表内部关系类时,即未设置唯一性导致
解决方法–>在创建索引中设置唯一性即可解决问题

消息 4104,级别 16,状态 1,第 4 行
无法绑定由多个部分组成的标识符 “FIRST.cpno”。
消息 4104,级别 16,状态 1,第 2 行
无法绑定由多个部分组成的标识符 “FIRST.Cno”。
导致原因:–>字符错误类导致

④几种查询类型类
1.等值连接查询
(即查询的是全部)

select * from Studnet ,SC where Studnet.Sno=SC.sno;
#即满足的这个条件的两个表中的内容
# 即利用逗号进行隔开连接查询即可

2.自然连接查询
(即属性确定好后进行连接)

select Student.Sno,Sname,Ssex,Ssage,Sdept,Cno,Grade  from Student,SC where Student.Sno=SC.Sno;

3.自身连接查询
查询先修课之前的先修课–>即查询的内容是自身连接进行查询的

select FIRST.Cno,SECOND.cpno from Course FIRST,Course SECOND where FIRST.cpno=SECOND.Cno;

4.嵌套连接

#用于控制范围时较nice
#如代码1
select sno from Course where sno in (select sno from Student );
#代码2
select name from person 
where countryid in 
(
select countryid from country
where countryname = '魏国'
)

作业代码类

create database jxgl;
use jxgl;
create table Student
(
Sno char(5),
Sname varchar(20),
Ssex char(2),
Sage int,
Sdept char(2)
);
create table Course
(
Cno char(2),
Cname varchar(20),
Cpno char(2),
Ccredit int

);
create table SC
(
Sno char(5),
Cno char(2),
Grade int 
);
 insert into Student values('98001','钱恒','男',18,'CS');
 insert into Student values('98001','赵三','女',20,'IS');
 insert into Student values('98002','小白','男',19,'CS');
 insert into Course values('1','数据库系统','5',4);
 insert into Course values('2','网络安全','3',2);
 insert into SC values('98001','1',87); 
 insert into SC values('98002','2',95);


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

goddemon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值