大家好,感谢邀请,今天来为大家分享一下SQL基础语句学习的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
查询和更新指令构成了SQL的DML部分:select——从数据库表中获取数据、update——更新数据库表中的数据、delete——从数据库中删除数据、insert into——类似向数据库表中插入数据
SQL 的数据定义语言(DDL)部分使我们能够创建或删除表。我们还可以定义索引(键)、指定表之间的联接以及在表之间施加约束。
sql中重要的DDL语句:
创建数据库-创建数据库
alter database——修改数据库
create table-创建一个新表
alter table-更改数据库表
drop table-删除表
创建索引-创建索引(搜索键)
drop index-删除索引
要从Company 列中仅选择唯一的不同值,我们需要使用SELECT DISTINCT 语句: SELECT DISTINCT Company FROM Orders
按字母顺序显示公司名称(Company),按数字顺序显示序号(OrderNumber): SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber (首先以Company 列为标准,如果是Company 则使用OrderNumber列名称相同(作为标准排列)。
按字母倒序显示公司名称: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
按字母倒序显示公司名称,按数字顺序显示序号: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC (首先以Company 列作为逆字母顺序的标准,如果Company 列名称相同,使用OrderNumber 按条件升序排序)
INSERT INTO 表名VALUES(值1,值2,)
INSERT INTO table_name (列1, 列2,) VALUES (值1, 值2,)
delete语句用于删除表中的行:delete from person where lastName=‘Wilson’,删除lastName为Wilson的行中的所有数据
delete from person,删除person表中的所有数据
更新一行中的列: update person set firstName=‘fred’ where lastName=‘wlison’
更新一行的多列: update person set firstName=‘sss’, city=‘nanjing’ where lastName=‘alison’
top 子句(仅在SQL Server 中可用)
top 子句用于指定要返回的记录数。 Top 对于包含数千条数据的大型表非常有用。
仅适用于SQL Server:从商品中选择前3 个*;
select top 50% * from products;(选择表中数据的前50%)
MySQL:从货物限制3中选择*;
Oracle: select * from products ROWNUM=3;
like 子句(“%”可用于定义通配符、模式中缺少的字符)
从商品中选择*,其中商品名称类似于“%ewq%”
从商品中选择*,其中商品名称类似于“q%”
从商品中选择*,其中商品名称类似于“%e”
从商品中选择*,其中商品名称如“ewq%qwe”
通配符(在数据库中搜索数据时,SQL 通配符可以替换一个或多个字符。SQL 通配符必须与like 运算符一起使用。)
a.%通配符,同上
b._通配符
“_”只能代表一个字符,它只是替换一个字符,其他位置的字符必须相同。
从商品中选择*,其中商品名称如“_qwqw”
从货物中选择*,其中货物名称如“q_wqw”
c.[charlist]通配符(似乎对mysql没用)
从商品中选择*,其中商品名称类似于“[ALN]%”; (查找名称以A、L、N开头的商品)
select * from products where products_name like ‘[!ALN]%’; (查找名称不以A、L或N开头的商品)
in 子句(类似于equals)
SELECT * FROMgoodsWHEREcategory_idIN(9999904,849)ANDgoods_nameIN(‘124′,’西红柿’,’青岛啤酒’);
类似于
SELECT * FROM 商品,其中id=1560 或id=1564;
Between子句(BETWEEN.AND运算符会选择两个值之间的数据范围。这些值可以是数值、文本、日期,包括mysql中的left和right Between)
SELECT * FROMgoodsWHEREgoods_nameBETWEEN’西红柿’和’青岛啤酒’;
SELECT * FROM 商品,类别ID 介于99999909 和99999911 之间;
有子句
SQL中添加HAVING子句的原因是where关键字不能与聚合函数一起使用。
从总和(orderPrice)为2000的客户的订单组中选择客户,总和(orderPrice)
从customer=’bush’ 或customer=’admin’ 的订单中选择customer,sum(orderPrice) 按sum(orderprice)1500 的客户分组
查看视图:
视图就像一个可视化表格
什么是视图:在SQL中,视图是基于SQL语句结果集的可视化表。
视图可以包含行和列,就像真正的表一样。视图中的字段是来自一个或多个数据库的实际表中的字段。我们可以将SQL 函数、where 和join 语句添加到视图中,并且可以像来自单个表一样提交数据。
创建视图view_name as select column_name(s) from table_name where 条件
视图始终显示最新数据。每当用户查询视图时,数据库引擎都会使用SQL 语句重建数据。
创建视图
创建视图[当前产品列表] AS
选择产品ID、产品名称
来自产品
哪里停产=否
查看视图
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/121928.html
用户评论
没过试用期的爱~
太棒了!这份SQL基础语句讲解非常清晰易懂,我一直在想学习SQL,但是总想着起点很高很复杂,看了你的文章才发现根本没想象中那么难!
有19位网友表示赞同!
刺心爱人i
讲的太好了!我都想冲去学习SQL了。以前对数据库真的没概念,现在看这篇文章感觉一下子打开了全新的大门。
有19位网友表示赞同!
烟雨萌萌
我之前也学过一些SQL基础语句,但你的讲解比我以前学到的还要详细,而且用词很通俗易懂,让我对一些知识点更深入了解了。感谢你的分享!
有10位网友表示赞同!
孤单*无名指
学习SQL确实要从基础语句开始,这篇文章说的太对了!我也是这种感觉,没有扎实的基础,高级的语句就很难理解应用。
有10位网友表示赞同!
一个人的荒凉
虽然我以前学过一点SQL,但真的还是有很多地方不太明白,看了你的文章后,对数据查询、过滤等操作都有了更清晰的认识。
有9位网友表示赞同!
陌颜
我觉得学习SQL的时候最重要的就是把基础语句掌握好,就像房子一样,要先打好地基才能盖起来高的楼房!
有16位网友表示赞同!
风中摇曳着长发
我想要学习更进阶的SQL知识,请问这篇文章还有后续内容吗?比如聚合函数、视图等等?
有9位网友表示赞同!
情深至命
其实我觉得这份教程略微简单了一些,对已经有一定的数据库经验的人来说,也许不太有帮助。
有14位网友表示赞同!
拽年很骚
SQL基础语句挺重要的,不过学习起来确实有点枯燥乏味…
有15位网友表示赞同!
青山暮雪
这个文章说的很棒,我最近正好打算开始学习SQL,看来要从这篇文章的入门内容开始啦!
有15位网友表示赞同!
无关风月
真的佩服一下写这篇文章的人,把复杂的知识点解释得这么通俗易懂!我本来对数据库一窍不通,现在看得有点想学了.
有16位网友表示赞同!
反正是我
虽然基础语句很重要,但我更感兴趣的是能够用SQL进行数据分析和挖掘,以后能不能分享一些进阶的内容啊?
有10位网友表示赞同!
抚涟i
我觉得文章内容比较偏向于理论,希望能加入一些实际案例的讲解,这样更容易理解和记忆。
有12位网友表示赞同!
败类
学习SQL真是一门功课,光从基础语句就开始觉得有点绕弯子了…
有8位网友表示赞同!
丢了爱情i
这篇文章很有用!希望能够以后继续分享更多的SQL知识,例如数据结构、索引等等!
有18位网友表示赞同!
看我发功喷飞你
我感觉这个文章太适合新手入门了,对于有一定编程经验的人来说,可能有些重复性的内容。
有7位网友表示赞同!
暖瞳
学习数据库的感觉真的奇妙,从一个简单的INSERT语句到复杂的查询,好像打开了整个新的世界!
有7位网友表示赞同!
瑾澜
我觉得这篇文章做得很好,虽然SQL基础语句看起来有点枯燥,但还是能够很好的引导入门者一步步学习!
有9位网友表示赞同!