美文网首页
数据库的基础操作语句记录

数据库的基础操作语句记录

作者: yaoyao妖妖 | 来源:发表于2020-04-14 09:51 被阅读0次
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

最简单的查询语法格式:

    SELECT <列名>
    FROM <表名>
    [WHERE <查询条件表达式>]
    [ORDER BY <排序的列名> [ASC 或 DESC]]

·查询所有的数据行和列:

    SELECT * FROM Student
image.png

·查询部分行列--条件查询

    SELECT SCode,SName,SAddress 
    FROM Student
    WHERE SAddress = '陕西咸阳'()
    ★<>为不等于符号
    SELECT SCode,SName,SAddress 
    FROM Student
    WHERE SAddress != '陕西咸阳'
    ★合并的新列名
    SELECT FirstName+'.'+LastName AS '姓名'
    FROM Employees
或
    SELECT '姓名' = FirstName+'.'+LastName
    FROM Employees

·查询空行

    SELECT SName FROM Student WHERE SEmail IS NULL

·查询中使用常量列

    ★查询输出多了一列"学校名称",该列的所有数据都是"陕西咸阳"
    SELECT 姓名=SName,地址=SAddrees,'陕西咸阳' AS 学校名称

·查询贩货限制的行数

    ★TOP为限制行数的关键字
    SELECT TOP 5 SName,SAddreess
    FROM Student WHERE SSex=0
    ★百分比限制关键字PERCENT
    SELECT TOP 20 PERCENT SName,SAddrees
    FROM Student WHERE SSex = 0
image.png

·查询排序

    ★降低10%再加5,按照及格成绩排列
    SELECT StudentID AD 学员编号,(Score*0.9+5) AS 综合成绩
    FROM Score
    WHERE (Score*0.9+5)>60
    ORDER BY Score
    ★合并查到的所有姓名信息,然后按照姓名降序排列
    SELECT Au_Lname + '.' + Au_Fname AS EMP FROM Author UNION
    SELECT Fname + '.' + Lname AS EMP FROM Employee
    ORDER BY EMP DESC
    ★多字段排序
    SELECT StudentID AS 学员编号,Score AS 成绩
    FROM Score
    WHERE Score > 60
    ORDER BY Score,CourseID(这两的字段有先后顺序)

·查询中使用函数

    ★更新信息,从表Card中把字段password中o改为0,i改为1
    UPDATE Card SET password = REPLACE(密码,'o','0')
    UPDATE Card SET password = REPLACE(密码,'i','1')
    或
    UPDATE Card SET password = REPLACE(REPLACE(密码,'o','0'),'i','1')
    ★特殊排序
    排序前:13-1,13-2,13-3,13-10,13-100,13-108,13-18,13-11,13-15,14-1,14-2
    排序后:13-1,13-2,13-3,13-10,13-11,13-15,13-18,13-100,13-108,14-1,14-2
    SELCT ListNumber
    FROM SellRecord
    ORDER BY Convert(int,Left(ListNumber,Charindex('-',ListNumber)-1)),
    Convert(int,Stuff(ListNumber,1,Charindex('-',ListNumber),''))

·模糊查询

    ★使用LIKE进行模糊查询
    SELECT * FROM Student WHERE SName LIKE '王%'
    ★使用BETWEEN在某个范围内进行查询
    SELECT * FROM SCore WHERE Score BETWEEN 60 AND 80
    ★查询不在1992年8月1号到1993年8月1号之间订购的读书列表
    SELELCT * FROM Sales WHERE ord_date NOT BETWEEN '1992-8-1' AND '1993-8-1'
    ★使用IN在列举值内进行查询
    SELECT SName AS 学员姓名 FROM Student WHERE SAddress IN ('北京','广州','上海')
    ORDER BY SAddress

·SQL Server 中的聚合函数

    ★SUM(只能返回一个数值)
    SELECT SUM(ytd_sales) FROM tiles WHERE tyde = 'business'
    ★AVG
    SELECT AVG(SCore) AS 平均成绩 FROM Score WHERE Score >=60
    ★MAX、MIN
    SELECT AVG(Score) AS 平均成绩,MAX(Score) AS 最高分,MIN(Score) AS 最低分
    FROM Score WHERE Score >=60
    ★COUNT(返回提供的表达式中非空值的计数,可以用数字和字符类型的列)
    SELELCT COUNT(*) AS 及格人数 FROM Score WHERE Score >=60
·分组查询
    ★使用GROUP BY进行分组查询
    SELECT CourseID,AVG(Score) AS 课程平均成绩
    FROM Score
    GROUP BY CourseID

·多表连接查询

    ★内连接
    SELECT Student,SName,Score.CourseID,Score.Score
    FROM Student,Score
    WHERE Student.Score = Score.StudentID
或
    SELECT S.SName,C.CourseID,C.Score
    FROM Student AS S INNER JOIN Score AS C
    ON (S.Score=C.StudentID)
    ★三表连接查询
    SELECT S.SName AS 学员姓名,CS.CourseName AS 课程名称,C.Score AS 考试成绩
    FROM Student AS S
    INNER JOIN Score AS C ON (S.Score=C.StudentID)
    INNER JOIN Course AS CS ON (CS.CourseID=C.CourseID)
    ★左外连接查询
    SELECT S.SName,C.CourseID,C.Score
    FROM Student AS S
    LEFT OUTER JOIN Score AS C ON S.Score = C.StudentID
    ★右外连接查询
    SELECT Titles.Title_id,Titles.Title,Publishers.Pub_name
    FROM titles
    RIGHT OUTER JOIN Publishers ON Titles.Pub_id = Publishers.Pub_id

·案例分析

    ★★查询一张表中的奇数和偶数行
    1、只能依靠标识列的值来进行判断和选取
    2、数据行可能存在增加,修改和删除,因此标识列的数据值并不完全可靠
    3、SELECTINTO创建一张新表,顺便创建新的表示列,再在新的表示列上执行奇偶判断
    4、奇数的判断依据为:标识列值%2不等与0;偶数的判断依据为:标识列值%2等于0
    5、删除临时表TEMPTABLE

    SELECT A,TDENTITY(INT 1,1) AS ID
    INTO TEMPTABLE
    FROM TBL
    
    SELECT SUM(A) AS 奇数列汇总 FROM TEMPTABLE
    WHERE ID%2 != 0

    SELECT SUM(A) AS 偶数列汇总 FROM TEMPTABLE
    WHERE ID%2 = 0

相关文章

  • MySQL基本语句

    一、数据库基础: 二、数据库语句: 三、数据表的操作语句:

  • 数据库的基础操作语句记录

    最简单的查询语法格式: ·查询所有的数据行和列: ·查询部分行列--条件查询 ·查询空行 ·查询中使用常量列 ·查...

  • SQL基础

    SQL基础 DDL 语句 DDL - 数据库定义语言。这些语句对数据库内部对象进行创建、删除、修改等操作。 查看建...

  • Oracle常用操作指南

    目录 用户操作语句 表空间操作语句 数据文件操作语句 数据表操作语句 数据库属性操作语句 1. 用户操作语句 查看...

  • 数据库SQL语言入门(三)

    系列文章: 数据库SQL语言入门(一)数据库SQL语言入门(二) DML语句 DML操作指对数据中的表记录的操作,...

  • MySql实现主从机制

    一. MySql原理: 主数据库进行增删改操作后,相应操作记录的语句(比如 create database tes...

  • 第6次课-Shell脚本语言-第6讲

    内容一:Shell脚本->数据库SQL语句->基础(回顾) 内容二:Shell脚本语言->数据库操作->在Shel...

  • 小程序全栈学习-用查询构建器操作数据库(1)

    上篇文章记录了如何采用sql原生语句来操作数据库,可以发现采用原生sql语句进行数据库操作并不是非常简洁。从这篇文...

  • DML

    数据库操作语句

  • MySQL数据库编写SQL语句利器---mycli

    MySQL数据库的操作是利用SQL语句完成SQL语句的操作。 对于初学者,学习SQL语句是操作数据库的必经之路,但...

网友评论

      本文标题:数据库的基础操作语句记录

      本文链接:https://www.haomeiwen.com/subject/mwaamhtx.html