SQL语句简单语法
SQL语句基本的四大元素(增,删,改,查) 插入数据 语法:INSERT INTO 表名(字段1,字段2,...)VALUES(值1,值2,...) 其中,INTO可选. 例如:将姓名张三学号s2t14年龄22插入到stuInfo表中的stuName,stuNo,stuAge这三个字段中。 INSERT INTO stuInfo (stuName,stuNo,st
SQL语句基本的四大元素(增,删,改,查) 插入数据
语法:INSERT INTO 表名(字段1,字段2,...)VALUES(值1,值2,...)
其中,INTO可选.
例如:将姓名‘张三’学号‘s2t14’年龄22插入到stuInfo表中的stuName,stuNo,stuAge这三个字段中。
INSERT INTO stuInfo (stuName,stuNo,stuAge) VALUES ('张三','s2t14',22)
插入多行数据
1.通过INSERT SELECT语句将现有表中的数据添加到新表
语法:INSERT INTO 新表名(字段1,字段2,...)SELECT 字段1,字段2,... FROM 原表名
例如:INSERT INTO TongXunLu(‘Name’,‘Address’,‘Email’)SELECT SName,SAddress,SEmail FROM Students
2.通过SELECT INTO语句将现有表中的数据添加到新表
语法:SELECT 表名.字段1,表名.字段2,... INTO 新表名 FROM 原表名
例如:SELECT Students.SName,Students.SAddress,Students.SMail INTO TongXunLu FROM Students
因为标识列的数据是不允许指定的,因此我们可以创建一个新的标识列
语法:SELECT IDENTITY (数据类型,标识种子,标识增长量) AS 列名 INTO 新表名 FROM 原表名
例如:SELECT Students.SName,Students.SAddress,Students.SMail,IDENTITY(int,1,1)AS StudentsID INTO TongXunLu FROM Students
3.通过UNION关键字合并数据进行插入
UNION语句用于将两个不同数据或查询结果组合的一个新的结果集,当然,不同的数据或查询结果,也要求数据个数、顺序、数据类型都一致,因此,当向表中重复插入多次数据的时候,可以使用SELECCT...UNION来简化操作。
例如:INSERT Students(SName,SGrade,SSex)
SELECT '女生1',7,0 UNION
SELECT '女生2',7,0 UNION
SELECT '女生3',7,0 UNION
SELECT '女生4',7,0 UNION
SELECT '女生5',7,0 UNION
SELECT '男生1',7,1 UNION
SELECT '男生2',7,1 UNION
SELECT '男生3',7,1 UNION
SELECT '男生4',7,1 删除数据
语法:DELETE FROM 表名 WHERE (条件)
例如:删除stuInfo表中年龄小于20岁的学生。
DELETE FROM stuInfo WHERE stuAge
TRUNCATE TABLE用来删除表中所有行的命令,功能上它类似于没有WHERE子句的DELETE语句。
例如:要删除学员信息表中的所有记录行,可以使用。
TRUNCATE TABLE Students
提示:TRUNCATE TABLE 删除表中的所有行,但是表的结构、列、约束、索引等不会被改动。TRUNCATE TABLE不能用于有外键约束引用的表,这种情况下,需要使用DELETE语句。 修改数据
语法:UPDATE 表名 SET 字段1=值1,字段2=值2,... WHERE (条件)
例如:将stuInfo表中姓名是张三的学生年龄修改为25岁。
UPDATE stuInfo SEF stuAge = 25 WHERE stuName = '张三'
还可以通过表达式来更新数据。
例如:需要在成绩表中更新成绩,所有低于85分的都在原来的基础上加5分,更新的SQL语句如下。
UPDATE Scores SET Scores =Scores + 5 WHERE Scores
1.查询所有的数据行和列
把表中所有数据行和列到列举出来需要使用“*”通配符来表示所有的列。
例如:查询Students表中的所有数据。
SELECT * FROM Students
2.条件查询
语法:SELECT 字段1,字段2,...FROM 表名
例如:查询stuInfo表中所有学生的姓名(stuName)和年龄(stuAge)两个字段。
SELECT stuName,stuAge FROM stuInfo
3.在查询中使用列名
AS子句可以用来改变结果集列的名称,还有一种情况是要让标题列的信息更易懂。
例如:把SCode列名查询后显示为“学员编号”
SELECT SCode AS 学员编号,SName AS 学员姓名 FROM Students
还有一种情况是使用计算、合并得到新列的命名。
例如:在查询Employees表中的数据时,需要把FirstName和LastName字段合并成一个叫“姓名”的字段。
SELECT FirstName+'.'+LastName AS '姓名'FROM Employees 或者
SELECT '姓名'= FirstName+'.'+LastName FROM Employees
4.查询空行
在SQL语句中采用“IS NULL”或者“IS NOT NULL”来判断是否为空行。
例如:要查询学员信息表中没有填写Email信息的学员,可以使用以下查询语句。
SELECT SName FROM Students WHERE SEmail IS NULL
5.在查询中使用常量列
有的时候,一些常量的缺省信息需要添加到查询输出中,以方便统计或计算。
例如:查询学员信息的时候,学校名称统一都是“河北新龙”,查询输出的语句为。
SELECT 姓名=SName,地址=SAddress,'河北新龙' AS 学校名称 FROM Students
6.查询返回限制的行数
例如:在测试的时候,如果数据库中有上万条记录,而只要检查前面十行数据是否有效。
SELECT TOP 10 SName,SAddress FROM Students WHERE SSex = 0 查询排序
如果需要按照一定的顺序排列查询语句选中的行,需要使用ORDER BY子句,并且排序可以是升序(ASC)或者降序(DESC)。如果不指定ASC或者DESC,缺省记录集按ASC升序排序。上面讲述的SQL语句都可以在其后面加上ORDER BY来进行排序。
例如:查询学员成绩的时候,如果把所有成绩都降低10%后加5分,再按照及格成绩的高低来进行排列。
SELECT StudentID AS 学员编号,(Score*0.9+5)AS 综合成绩 FROM Score WHERE (Score*0.9+5)>60 ORDER BY Score
还可以按照多个字段进行排序。
例如:要在学员成绩的基础上,再按照课程ID进行排序的语句如下。
SELECT StudentID AS 学员编号,Score AS 成绩 FROM Score WHERE Score>60 ORDER BY Score,CourseID
特殊排序
在数据库表中有以下字符数据,如:
13-1、13-10、13-100、13-108、14-3、14-1、13-18
现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排序,输出要排成这样:13-1、13-10、13-18、13-100、13-108、14-1、14-3
数据库表名:SellRecord;字段名:ListNumber
分析:
这是查询语句,需要使用SELECT语句,,需要用到ORDER BY进行排序,并重新计算出排序的数字来。
前半部分的数字,可以从先找到“-”符号的位置,然后取其左半部分,最后再使用Convert函数将其转换为数字。
Convert(int,Left(ListNumber,CharIndex('-',ListNumber)-1))
后半部分的数字,可以先找到“-”符号的位置,然后把从第一个位置到该位置的全部字符替换为空格,最后再使用Convert函数将其转换为数字。
Convert(int,Stuff(ListNumber,1,Charindex('-',ListNumber),''))
完整的T-SQL语句是:
SELECT ListNumber
FROM SellRecord
ORDER BY Convert(int,Left(ListNumber,CharIndex('-',ListNumber)-1)),Convert(int,Stuff(ListNumber,1,Charindex('-',ListNumber),''))
使用LIKE进行模糊查询
LIKE运算符用于匹配字符串或字符串的一部分(称为子串),由于该运算符只用于字符串,所以仅与Char或Varchar数据类型联合使用。
在数据更新、删除或者查询的时候,依然可以使用LIKE关键字来进行匹配查找,例如:
SELECT * FROM Students WHERE SName LIKE '张%'
使用BETWEEN在某个范围内进行查询
使用关键字BETWEEN可以查找那些介于两个已知值之间的一组未知值。要实现这种查找必须知道开始查找的初值和终值,这个最大值和最小值用单词AND分开,例如:
SELECT * FROM SCore WHERE Score BETWEEN 60 AND 80
此外,BETWEEN查询日期范围的时候使用得比较多,例如:查询不在1992年8月1号到1993年8月1号之间订购的读书列表。
SELECT * FROM Sales WHERE ord_date NOT BETWEEN '1992-8-1' AND '1993-8-1'
提示:使用NOT来对限制条件“取反”操作
使用IN在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举值的IN关键字来进行查询。
例如:列举值放在圆括号里,用逗号分开。
SELECT SName AS 学员姓名 FROM Students WHERE SAddress IN ('北京','广州','上海') ORDER BY SAddress SQL Server中的聚合函数
在查询中还会经常碰到的要求是取某些列的最大值、最小值、平均值等信息,有时候还需要计算出究竟查询到多少行数据项。这个时候就可以使用聚合函数了,聚合函数能够基于列进行计算,并返回单个值。
SQL Server提供了以下几个聚合函数:
1.SUM
SUM返回表达式中所有数值的总和,它只能用于数字类型的列。
例如:在Pubs数据库中,要得到商务付款的总数,执行以下查询语句。
SELECT SUM(ytd_sales) FROM titles WHERE type = 'business'
注意:这种查询只返回一个数值,因此,不能够直接与可能返回多行的列一起使用来进行查询。
2.AVG
AVG函数返回表达式中所有数值的平均值,也只能用于数字类型的列。
例如:要查询及格线以上的学员的平均成绩。
SELECT AVG(SCore) AS 平均成绩 FROM Score WHERE Score >=60
3.MAX和MIN
MAX返回表达式中的最大值,MIN返回表达式的最小值,它们都可以用于数字型、字符型以及日期/时间类型的列。
例如:查询平均成绩、最高分、最低分的语句如下。
SELECT AVG(SCore) AS 平均成绩,MAX(Score) AS 最高分,MIN(Score) AS 最低分 FROM Score WHERE Score >=60
4.COUNT
COUNT返回提供的表达式中非空值的计数,COUNT可以用于数字和字符类型的列。
例如:查询及格人数的语句如下。
SELECT COUNT(*) AS 及格人数 FROM Score WHERE Score >= 60 分组查询
使用Group By进行分组查询
成绩表中存储了所有课程的成绩,在这种情况下,可能就需要统计不同课程的平均成绩。也就是说,需要对不同的成绩首先按照课程来进行分组,分组以后再进行聚合计算,得到累计信息。
采用分组查询实现的SQL语句如下:
SELECT CourseID, AVG(Score) AS 课程平均成绩 FROM Score GROUP BY CourseID
使用HAVING子句进行分组筛选

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

하드디스크 일련번호는 하드디스크의 중요한 식별자로 일반적으로 하드디스크를 고유하게 식별하고 하드웨어를 식별하는 데 사용됩니다. 운영 체제를 설치하거나, 올바른 장치 드라이버를 찾거나, 하드 드라이브를 수리할 때와 같이 하드 드라이브 일련 번호를 쿼리해야 하는 경우도 있습니다. 이 문서에서는 하드 드라이브 일련 번호를 확인하는 데 도움이 되는 몇 가지 간단한 방법을 소개합니다. 방법 1: Windows 명령 프롬프트를 사용하여 명령 프롬프트를 엽니다. Windows 시스템에서는 Win+R 키를 누르고 "cmd"를 입력한 후 Enter 키를 눌러 명령을 엽니다.

Java를 사용하여 간단한 학생 성과 보고서 생성기를 작성하는 방법은 무엇입니까? 학생 성과 보고서 생성기는 교사나 교육자가 학생 성과 보고서를 신속하게 생성하는 데 도움이 되는 도구입니다. 이 기사에서는 Java를 사용하여 간단한 학생 성과 보고서 생성기를 작성하는 방법을 소개합니다. 먼저 학생 개체와 학생 성적 개체를 정의해야 합니다. 학생 객체에는 학생의 이름, 학번 등의 기본 정보가 포함되고, 학생 점수 객체에는 학생의 과목 점수, 평균 성적 등의 정보가 포함됩니다. 다음은 간단한 학생 개체의 정의입니다.

PHP를 통해 간단한 온라인 예약 시스템 작성 방법 인터넷의 대중화와 사용자의 편의성 추구로 인해 온라인 예약 시스템이 점점 더 대중화되고 있습니다. 레스토랑, 병원, 미용실 또는 기타 서비스 산업이든 간단한 온라인 예약 시스템은 효율성을 높이고 사용자에게 더 나은 서비스 경험을 제공할 수 있습니다. 이 기사에서는 PHP를 사용하여 간단한 온라인 예약 시스템을 작성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 데이터베이스 및 테이블 생성 먼저 예약 정보를 저장할 데이터베이스를 생성해야 합니다. MyS에서는

C++로 간단한 지뢰 찾기 게임을 작성하는 방법은 무엇입니까? 지뢰 찾기(Minesweeper)는 플레이어가 지뢰를 밟지 않고 알려진 지뢰밭의 배치에 따라 모든 블록을 드러내야 하는 고전적인 퍼즐 게임입니다. 이 기사에서는 C++를 사용하여 간단한 지뢰 찾기 게임을 작성하는 방법을 소개합니다. 먼저 지뢰찾기 게임의 지도를 표현하기 위해 2차원 배열을 정의해야 합니다. 배열의 각 요소는 공개 여부, 지뢰 유무 등 블록의 상태를 저장하는 데 사용되는 구조일 수 있습니다. 또한, 우리는 또한 정의해야

C++로 간단한 음악 추천 시스템을 작성하는 방법은 무엇입니까? 소개: 음악 추천 시스템은 현대 정보 기술의 연구 핫스팟으로 사용자의 음악 선호도와 행동 습관을 기반으로 노래를 추천할 수 있습니다. 이 기사에서는 C++를 사용하여 간단한 음악 추천 시스템을 작성하는 방법을 소개합니다. 1. 사용자 데이터 수집 먼저 사용자의 음악 선호도 데이터를 수집해야 합니다. 다양한 유형의 음악에 대한 사용자의 선호도는 온라인 설문조사, 설문지 등을 통해 얻을 수 있습니다. 텍스트 파일이나 데이터베이스에 데이터 저장

빠른 시작: Go 언어 기능을 사용하여 간단한 라이브러리 관리 시스템 구현 소개: 컴퓨터 과학 분야의 지속적인 발전으로 인해 소프트웨어 애플리케이션의 요구 사항이 점점 더 다양해지고 있습니다. 공통 관리 도구로서 도서관 관리 시스템은 많은 도서관, 학교 및 기업에 필요한 시스템 중 하나가 되었습니다. 이 기사에서는 Go 언어 기능을 사용하여 간단한 라이브러리 관리 시스템을 구현해 보겠습니다. 이 예제를 통해 독자는 Go 언어의 기본 기능 사용법과 실제 프로그램 작성 방법을 배울 수 있습니다. 1. 디자인 아이디어: 먼저 하자

PHP를 사용하여 간단한 파일 관리 기능을 개발하는 방법 소개: 파일 관리 기능은 많은 웹 애플리케이션의 필수 부분입니다. 사용자는 파일을 업로드, 다운로드, 삭제, 표시할 수 있어 사용자에게 편리한 파일 관리 방법을 제공합니다. 이 기사에서는 PHP를 사용하여 간단한 파일 관리 기능을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 프로젝트 생성 먼저 기본 PHP 프로젝트를 생성해야 합니다. 프로젝트 디렉토리에 다음 파일을 생성합니다: index.php: 업로드 테이블을 표시하는 데 사용되는 메인 페이지

람다 표현식은 이름이 없는 익명 함수이며 구문은 (parameter_list)->expression입니다. 익명성, 다양성, 커링 및 폐쇄 기능이 특징입니다. 실제 응용 프로그램에서는 람다 표현식을 사용하여 합산 함수 sum_lambda=lambdax,y:x+y와 같은 함수를 간결하게 정의하고 map() 함수를 목록에 적용하여 합산 작업을 수행할 수 있습니다.
