SQL Server基本使用和简单的CRUD操作

没想到有生之年,居然有了硬性写博客的时候(没抱怨什么,只是,有点惊讶),数据库wyg老师(David)让我们把每次实验课上的操作或者平时的一些总结写到博客上,通过这种方式来检查我们的作业和学习情况,不得不说,与时俱进,而且方便高效,妙啊!既如此,那我还是撸起袖子好好搬砖干活,巩固所学知识吧!

Posted in SQL Server onApril 05, 2021
一、SQL Server的安装和配置

这里附上两篇参考的博客(David说是学长学姐们写的,那我就白嫖吧),里面详细说明了每一步的操作和相关的配置。还有一篇是自己安装时看的,话说,我自己安装东西好像一向都很顺利,所以也没有出现什么问题。。。

二、基本使用(基于GUI)
1.新建数据库,注意系统数据库不要随意修改,防止更改重要信息

SQL Server基本使用和简单的CRUD操作

2.修改和删除数据库

SQL Server基本使用和简单的CRUD操作

3.建表+设计表+插入数据

SQL Server基本使用和简单的CRUD操作
SQL Server基本使用和简单的CRUD操作

这里可以对表的属性(字段)进行设置,如是否允许为NULL值(即该项是否是必填项,若不是,则默认值为NULL),是否为主键等,后边有SQL语句

SQL Server基本使用和简单的CRUD操作
SQL Server基本使用和简单的CRUD操作

三、基本使用(SQL语句)(首先在菜单栏找到新建查询,在此处编写SQL语句)

PS:该软件不会自动将关键词变成大写,sqlyog可以
SQL Server注释
单行注释:-- 注释内容
多行注释:/* 注释内容 */
MySQL常用单行注释是 # 注释内容

1 . 新建数据库,并设置相关属性

常用写法(使用默认配置)

create database test;

完整写法

CREATE DATABASE testdb -- (数据库名称) 
on primary( --(主文件,固定格式:NAME主文件的名称,主文件的路径)
name = 'testdb',
filename = 'D:\temp\testdb.mdf', -- 主文件以mdf结束
size = 10MB, -- 主文件的初始值大小
maxsize = 100,
filegrowth = 5
) -- 数据文件每次的增长量,由于增删改等操作,文件增大,每次增大5MB
log on(
name = 'testdb_log',
filename = 'D:\temp\testdb_log.ldf',
size = 10,
maxsize = 100,
filegrowth = 5
)
2.表的建立 + 基于单表的添加、删除、修改、查询(CRUD操作)

PS:当决定对某个库进行操作时,建议事先选定该数据库,防止不必要的错误和麻烦出现,或者使用SQL语句,如use student,即可切换到student库
SQL Server基本使用和简单的CRUD操作

PS:基本所有的操作常用关键字

建立:create
添加,插入:insert
删除:delete 、 drop
修改:alter 、update
查询:select

2.1 表的建立

多个语句间用逗号间隔,最后一个不加

create table stuInfo(
id varchar(15) primary key not null, -- 主键(primary key)且不允许为空,主键本身就非空
name varchar(15) not null, -- 不允许空
age int null, -- 允许为空
sex varchar(5),
major varchar(20)
)
2.2 表的修改(主要指属性字段)
-- 更改字段类型长度
alter table 表
alter column 字段名 类型长度

alter table stuInfo
alter column name varchar(20)

-- 更改字段类型
alter table 表
alter column 字段名 更改后的类型

-- 添加非空约束
alter table 表
alter column 字段名 int not null

-- 设置主键
alter table 表
add constraint 主键名 primary key(字段名)

add constraint kid primary key (id)

-- 删除主键
alter table 表
drop constraint 主键名

-- 更改字段名
exec sp_rename '表名.字段名',
'更改后的字段名','COLUMN'(表示修改类型是字段),-- 注意COLUMN一定要大写

-- 添加字段名
alter table 表 
add 字段名 字段类型 default null
2.3 表的删除
drop table 表名
2.4 向表中插入数据
-- 插入单行数据
insert into '表格名'('栏位1','栏位2',...)
values('值1','值2',...);

insert into stuInfo(id,name,age,sex,major) 
values('123','haha','10','男','金融') -- 按顺序写

-- 插入多行数据
insert into '表格名'('栏位1','栏位2',...) values
('值1','值2',...),
('值1','值2',...),
('值1','值2',...);
-- 从其他表copy数据
insert into '表格1'('栏位1','栏位2',...)
select '栏位3','栏位4',... -- 注意要和上边的栏位数目一致
from '表格2';

SQL Server基本使用和简单的CRUD操作

2.5 修改表中数据
update 表名 set 字段 = 值

update stuInfo set age = 8
where id = '123' -- where指定查询,会发现id=123的age年龄变成了8

SQL Server基本使用和简单的CRUD操作
SQL Server基本使用和简单的CRUD操作

2.6 删除表中数据
-- 图形界面删除的话打开表,选中要删除行,右键删除即可

delete from stuInfo -- 会删除所有内容
-- 熟练之后可以省掉from
delete from 表名
where id = '123' -- 只删除id=123的那一行数据
2.7 查询表中数据
-- select 字段名(若为*代表查询所有字段信息) from 表名

-- 查询所有数据
select * from userInfo;

-- distinct 去重操作,只显示不一样的
select distinct 字段名 from 表名

-- top 查询前多少行数据
select top 行数 字段名 from 表名

-- 指定输出格式
select grade+'-'+className from stuInfo -- 显示为一年级-1班,对结果进行拼接

SQL Server基本使用和简单的CRUD操作

四、备注:

以上SQL语句与自己之前学的类似,不过还没完全记住。。还需记忆+练习。OK,任务完成,开始干饭!

SQL Server 相关文章推荐
SQL Server连接查询的实用教程
Apr 07 SQL Server
SQLServer2008提示评估期已过解决方案
Apr 12 SQL Server
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
SQL SERVER触发器详解
Feb 24 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
SQL Server 忘记密码以及重新添加新账号
Apr 26 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021-4-3课程——SQL Server查询【2】
2021-4-5课程——SQL Server查询【3】
SQL Server数据定义——模式与基本表操作
SQL Server 数据库实验课第五周——常用查询条件
Sql-Server数据库单表查询 4.3实验课
【HBU】数据库第四周 单表查询
You might like
PHP程序员编程注意事项
2008/04/10 PHP
PHP 批量删除 sql语句
2009/06/05 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
中学生运动会新闻稿
2014/09/24 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
教你nginx跳转配置的四种方式
2022/07/07 Servers