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——索引+基于单表的数据插入与简单查询【1】
Apr 05 SQL Server
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQL Server连接查询的实用教程
Apr 07 SQL Server
SQLServer 日期函数大全(小结)
Apr 08 SQL Server
mybatis调用sqlserver存储过程返回结果集的方法
May 08 SQL Server
在 SQL 语句中处理 NULL 值的方法
Jun 07 SQL Server
SQLServer之常用函数总结详解
Aug 30 SQL Server
sql时间段切分实现每隔x分钟出一份高速门架车流量
Feb 28 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
SQL Server #{}可以防止SQL注入
May 11 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 SQL Server
SqlServer常用函数及时间处理小结
May 08 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
自己的js工具 Event封装
2009/08/21 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
Python中文件的读取和写入操作
2018/04/27 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
python日志模块logbook使用方法
2019/09/19 Python
python中dict()的高级用法实现
2019/11/13 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
贷款担保书
2015/01/20 职场文书
本溪水洞导游词
2015/02/11 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
师范生教育见习总结
2015/06/23 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers