SQL语句入门
【摘要】
Hi,这次推文我们重点讲一下SQL,怎么会想起来讲SQL呢?那是因为小编最近目睹了太多的面试车祸现场,好多同学都因为SQL基础不好而被刷了,所以今天小编重点介绍一下SQL语句。
首先要知道SQL语句分为三种,DDL,DML和DCL 。下面我们先来看看这三个词的意思。
DDL is Data Definition Language statements. Some...
Hi,这次推文我们重点讲一下SQL,怎么会想起来讲SQL呢?那是因为小编最近目睹了太多的面试车祸现场,好多同学都因为SQL基础不好而被刷了,所以今天小编重点介绍一下SQL语句。
首先要知道SQL语句分为三种,DDL,DML和DCL 。下面我们先来看看这三个词的意思。
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言。
包括创建修改和删除(create,alert,drop)。
DML is Data Manipulation Language statements. Some examples:数据操作语言,SQL中处理数据等操作统称为数据操纵语言。
包括查询,添加,更新删除等(select,insert,update,delete)。
DCL is Data Control Language statements. Some examples:数据控制语言,用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。
一般用的就是事务的回滚和提交(rollback,commit)。
今天我们主要只讲DDL和DML。
首先我们来讲,如何创建数据库:
create database student(数据库名)
简单的一句话:create database 数据库名 即可!
与之相对应的删除数据库,只需把create改成drop即可
drop database student
接下来我们来创建一个表,我们SQL针对的对象是表,所以,现在我们就来创建一个表:
create table students(SID varchar(20),Sname varchar(20),Gender varchar(20),Tel varchar(255),PRIMARY KEY(SID))
创建一个students表,里面有SID,Sname,Gender,Tel元组,并且将SID设置为主键,在这里解释一下主键:大家可以认为主键是一个表的唯一标识,它对应的数据每个都是唯一的,不能重复的
利用可视化工具,查看刚刚创建表的结果:
如果想删除此表:使用drop语句即可:
drop table students
如果想为表添加一个新的列(column),可以使用alert语句:
Alter table students add column Address VARCHAR(255)
运行结果:
添加了一个叫Address的列
Alert语句:
Alert table 表名 add column 你要加的列 列的数据类型
同样的,想为表添加主键,也可以用alert语句:
Alert table 表名 add primary key (主键名)
删除主键:
Alert table 表名 drop primary key (主键名)
下面,我们针对刚刚创建的students表写几句SQL语句
首先我们在增加一个列
Alter table students add column Age int
现在我们的表是空的,那我们现在向表里插入一些数据:
那就需要用到insert语句了:
INSERT INTO students VALUES('1102','John','male','15120001313','shanghai',22)
插入第一条信息:
下面我们多插入一些信息:
insert语句还有一种写法,如下:
INSERT INTO students(SID,Sname,Gender,Age) VALUES('1201','Tony','male',23)
这样就是制定列去插入信息。
,没有插入的信息就会显示空值。
那我们再来插入几条信息:
INSERT INTO students VALUES('1101','Dolphin','male','15120001222','shanghai',20)
INSERT INTO students VALUES('1122','Amy','female','15120035390','Sichuan',26)
INSERT INTO students VALUES('1142','Zark','male','','Beijing',20)
最后的表结果:
现在我们了解了一个情况:Tony现在新办了个手机号,有号码了,所以我们要更新students表中的一条记录,采用update语句:
添加Tony的手机号码:
UPDATE students set Tel='15121003567' where Sname='Tony'
查看结果:
说明更新成功了。
update语句基本模板:
update 表名 set 你想要改的记录 where 你改的前提条件
下面我们得知了一个消息,Zark这个人他不是学生,他是从隔壁公司偷偷混进我们学校的:所以我们要删除叫Zark这个人的记录,不能让他再来我们学校混了,此时我们就用到了delete语句:
DELETE FROM students WHERE Sname='Zark'
查看记录:
Zark被删除了。
现在我们看到了delete语句,我们来总结一下模板:
delete from 表名 where 你要删除的条件
有一天,有个老师来上课了,他想知道班里所有同学的信息怎么办?
此时我们可以采用最简单select语句,查询所有(*代表所有记录,通配符):
SELECT * FROM students
输出:
很简单,Select * from 表名 这就是查询一个表的所有记录
现在老师毛病犯了,他想知道所有同学的平均年龄是多少,这可怎么办?
不必担心!SQL为我们准备了平均函数avg,我们只需用平均函数即可:
SELECT AVG(Age) AS averageAge FROM students
输出:
这样就能查到平均年龄了,
与此相类似的还有求和函数sum(),最大函数max(),最小函数min()
只需要将你要求的列传入括号里就行了~
由于我们刚刚创建的表学号并没有按照从大到小 按顺序排列,所以老师很生气,感觉看着很不舒服,他想让学号按照顺序排列:
所以我们只需要采用order by排序函数即可:
select * from students order by SID desc
输出:
现在这个老师毛病又犯了,他想看着学号从小到大升序排列,这怎么办呢?
很简单,我们只需要将 desc去掉即可!!!
因为order by默认就是升序的
好了,老师现在又发话了,他说想知道班里名字带有y的学生,想要看他们的家住哪里。这下怎么办呢?
(小编发现这个老师是个智障)
此时我们不在用“=”做匹配了,而是用like进行匹配:
SELECT Sname,Address FROM students WHERE Sname LIKE "%a%"
输出:
关于简单的单表SQL就给大家讲到这里了,还有一些其他的多表查询,涉及到左右连接的小编下次给大家慢慢讲!这期就到这里吧~
大家晚安~
听说有气质的人都会扫这个二维码!
文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/tongtongjing1765/article/details/100581660
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)