1月10日 SQL SERVER 增删改查(第一节)

一、登陆

SQL SERVER两种登录方式的设置:Windows身份登录;SqlServer身份登录。
如何设置SQLServer身份验证?
1.对象资源管理器右击--属性--安全性--SqlServer和Windows身份登录。
2.对象资源管理器--安全性--登录--sa--右击--属性--常规--设置密码
3.对象资源管理器--安全性--登录--sa--右击--属性--状态--授予,启用
重启数据库服务。

二、SQL语句 ( 增、删、改、查)

1、增(两种写法)

insert into 表名(列名,列名,列名,...) values(值,值,值,....)

insert into 表名 values(值,值,值,值。。)

2、删

delete from 表名  --删除表内所有数据

delete from 表名 where 条件 --删除符合条件的语句

3、改

update 表名 set 列名=值,列名=值..... where 条件

4、查(重点)

查询方式有很多种

(一)、简单查询

select*from 表名  ----基本形式(*代表所有列,*位置也可加列名)

(1)、投影

select 列名,列名,...from 表名

(二)、筛选

(1)、等值、不等值查询

select * from 表名 where 列名=值 ---等值查询

select * from 表名 where 列名 <> 值      --不等值查询(<>相当于!=)
select * from 表名 where 列名 > 值 >=
select * from 表名 where 列名 < 值 <=

(2)、多条件查询(逻辑与(and),逻辑或(or))

select * from 表名 where 条件1 and 条件2 ...
select * from 表名 where 条件1 or 条件2 ...
如果在where筛选条件中,既出现and又出现or,则先运算and。除非使用小括号改变优
先级。

(3)、范围查询

select * from 表名 where 列名 >=范围1 and 列名<=范围2

例如:

select * from Car where Price >=30 and Price<=50
select * from Car where Price between 30 and 50

select * from Car where Oil=7.4 or Oil=8.5 or Oil=9.4
select * from Car where Oil in(7.4,8.5,9.4)        --可以用where 列名 in(1,2,,,,)

(4)、模糊查询

select * from 表名 where 列名 like ‘标识字%‘

%——任意多个任意字符
_——一个任意字符

例:
select * from Car where Name like ‘宝马%‘
宝马%——以宝马开头的
%宝马——以宝马结尾的
%宝马%——只要含有宝马这两个字就可以。

__宝马%——代表第三个字符以宝马开头的。

(5)、去重查询:

select distinct 列名 from 表名     ——如果列中有重复值,则只查1个出来。

(6)、top 查询

取前几条数据
select top 数量 [列名|*] from 表名

(三)、排序

select * from 表名 where 条件 order by 列名 ASC|DESC,列名 ASC|DESC

例:

select * from car order by price asc ——默认是升序 ascending descending
select * from car order by price desc
select * from Car order by Oil asc,Price desc ——Oil主排序,Price次排序

(四)、分组

统计函数(聚合函数)
count(), max(), min(), sum(), avg()

count()统计总行数
count(*)得到所有的行数
count(列)得到该列中所有非null个数。
select COUNT(*) from car where Brand=‘b003‘

max(列) 这一列的最大,min(列)这一列的最小
select min(price) from car

sum(列)这一列的和,avg(列)这一列的平均
select AVG(price) from car

group by ...having...

1.group by后面跟的是列名。
2.一旦使用group by分组了,则select和from中间就不能用*,只能包含两类东西一类是:group by 后面的列名,另一类是统计函数
select Oil,avg(price) from Car group by oil
对于统计函数生成的列,默认是无列名,可以通过下面的方法指定列名。
select Oil as 油耗,COUNT(*) as 数量,avg(price) 均价 from Car group by oil

having后面一般跟得是统计函数。它用来对分组后的数据进一步筛选。

(五)、复杂查询

(1)、链接查询:
第一步:求笛卡尔积
select * from Info,nation
第二步:根据两个表相对应的列,对笛卡尔积进行有效数据的筛选。
select * from Info,Nation where Info.Nation = Nation.code
第三步:调整显示要查询的列
select Info.Code,Info.Name,Info.Sex,Nation.Name,Info.Birthday 
from Info,nation where Info.Nation=Nation.Code

一般用join。。。on连接

select * from 表名1 
join 表名2 on 表名1.列 = 表名2.列
join 表名3 on 表名2.列 = 表名3.列
....
where 查询条件

左连(left join),右连(right join),全连(full join)

(2)、联合查询
把多个表的行合在一个界面视图中。
用union把两个查询组合在一起。要求是这两个查询的列要一一对应。

(3)、子查询(嵌套查询)

(一)无关子查询:
至少是两层查询,在外层查询的里面再写查询。

里层查询为外层查询提供查询的中间内容。

例:查询“张旭“教师任课的学生成绩。--成绩、教师、课程都不在一个表中

select degree from score where cno=
(
select cno from course where tno=
(
select tno from teacher where tname=‘张旭‘
)
)

时间: 2024-10-11 17:30:41

1月10日 SQL SERVER 增删改查(第一节)的相关文章

实现学校信息增删改查-第一节添加学校名称

SSM框架实现学校信息增删改查-第一节添加学校名称 大家好!第一次写文 语句可能有些生涩,看到我不足的地方可以给我留言~ 好了,开始第一节,一个简单的添加学校名称功能~ 可以先看一下前端html代码,运行程序看一些界面效果 超级简易的一个添加页面,首先我们要知道添加是根据学校id添加信息的,请看代码哦 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

6月17日 TP框架增删改查

用自动收集表单的形式进行增删改查 MainController.class.php: <?php namespace Home\Controller; use Think\Controller; class MainController extends Controller { //显示 function ShowInfo() { $model = D("Info"); $attr = $model->field("Info.Code as InfoCode,In

MS SQL Server 增删改查

数据插入 语法:INSERT INTO Table_name(field1,field2……fieldN) values(value1,vlaue2,…valueN) 单行插入用户类型 INSERT INTO userType(TypeName,TypeDescription) VALUES('管理员','管理员') 多行插入用户类型 INSERT INTO UserType(TYpeName,TypeDescription) VALUES('录入员','数据录入员'),('查询员','只能做数

Sql Server增删改查字段的语法

添加字段的SQL语句的写法: 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0 alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0 alter table [表名] add 字段名 single default 0 增加数字字段,单

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

Linq to SQL 简单增删改查

Linq to SQL 简单增删改查 用Linq大大减少了对数据库的一般操作所需的编码量. 运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens](    [Id] [int] IDENTITY(1,1) NOT NULL primary key,    [Name] [nchar](10) NULL,) 建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖

数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15') 1.2[将现有表数据添加到一个已有表]insert into <已有的新表> (列名) select <原表列名> from <原表名>例:insert into tongxunlu ('姓名','地址','

MVC操作SQL数据库增删改查

控制器代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; namespace MvcApplication1.Controllers { public class HomeController : Controller { // // GET: /Home/ publi

6月17 练习ThinkPHP的增删改查

利用ThinkPHP连接数据库的增删改查的例题:用到的数据库表名Info表,Nation表 数据显示页面:MainController.class.php中的ShowInfo方法 //例题 //显示所有数据 public function ShowInfo() { $model = D("Info"); $attr = $model->field("Info.Code as InfoCode,Info.Name as InfoName,Info.Sex,Nation.N