【数据库学习】——从零学习SQL语句(含SQL数据类型、SQL语句实例操作)

目录

0、创建数据库

1、调用指定的数据库

2、创建数据表

2.1、SQL数据类型

1).字符型数据:

3).整数型数据

4).精确小数型数据

5).近似数值类型

6).货币型数据

7).位类型数据

2.2 实例创建表

 3、向表中插入

4、主键primary key

5、查询字段

5.1、使用distinct 去除重复值

5.2、使用where来选取指定的数据

 1)常见的where运算符

2)利用and 和 or运算符

3)利用like运算符

4)利用in运算符

 5)利用between运算符

6)order by运算符

6、更新字段update

 7、删除记录delete

 8、index索引用法

9、view视图

 10、NULL值

 11、字段名、表名的别名

 11、join连接

12、子查询

​ 13、常用的统计函数(count、min、max、sum、avg等)

13.1、count——统计指定的字段不为null的记录总数

 13.2、max\min函数——统计所选字段的最大\小值

 13.3、avg——求字段值的平均值

 13.4、sum——对所选字段的记录进行求和

 14、group by分组函数(按照给定的字段进行不同的分组)

 15、having 过滤分组

 16、课后测试


视频学习链接:

从零开始38分钟学会SQL语言_哔哩哔哩_bilibili这个课程是面向零基础的学员,使用38分钟的时间学习了76条经典SQL语句,掌握了SQL语言的基础知识,马上就可以做数据分析了。所有SQL语句均可不加修改地运行在MySQL、Oracle、SQL Server和PostgreSQL等4种数据库上https://www.bilibili.com/video/BV1634y1R77q?from=search&seid=11764788465467756900&spm_id_from=333.337.0.0

前提:下载好mysql数据库,以及配置好mysql环境变量

可参考:【Python项目实战】Python+MySQL开发新闻管理系统全集_哔哩哔哩_bilibili 前几集

0、创建数据库

create database 数据库名;

create database DMS;

注:sql语句不区分大小写

show databases; # 显示所有的数据库

1、调用指定的数据库

use dms;

use 数据库名;

2、创建数据表

create table 数据表名(字段名 字段数据类型 字段长度 其他)

注:分号表示一句完整的SQL的结束

2.1、SQL数据类型

参考:sql数据库常用的几种数据类型 - 小小黑- - 博客园

1).字符型数据

char\varchar\text
这几种数据类型都是用来装字符串的
char         固定长度存储数据(255字节)
varcahr    按变长存储数据
text          当你需要存储非常大量的字符串时使用
nchar、nvarchar、ntext
这几个也是存储字符串的,与上面的对应相同。唯一不同的是这三种类型,是采用Unicode编码,当你做国际化的网站时使用

2).日期时间型数据
datetime、smalldatetime
都是用于存储日期和时间信息
datetime:         存放1/1/1753-12/31/9999的时间数据,精确到0.001s
smalldatetime: 存放1/1/1900-6/6/2079的时间,精确到秒

data:                  

3).整数型数据

用于存放整数
bigint、int、smallint、tinyint
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。
tinyint 从 0 到 255 的整数数据。

4).精确小数型数据

用于存放小数
decimal、numeric

NUMERIC:型整数部分最大只能有28位,范围为-10^38到10^38之间的数,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零,定义语法NUNERIC(3,2),表示总位数为3,小数位数为2,如3.14

5).近似数值类型

用于存放近似数
float、real

6).货币型数据

用于存放货币数据
money、smallmoney
在输入货币型数据时要在其前加货币符号,若为负值,则在货币符号后加符号

7).位类型数据

bit
这个刚学不好理解,我给你打个比方吧。比如你的表中有一列放性别,性别只有两种可能性,不是男就是女。这时你就可以把性别这列的数据类型设为bit。凡是与之类似的情况都可以用bit类型数据。

2.2 实例创建表

 create table dept(
    deptno int primary key,
    dname varchar(10),
    loc varchar(10));

 

create table employees(
    empno int primary key,
    name char(10) not null,
     deptno int,
    manager int,
    hiredate date,
    salary numeric(7,2));

 

create table manager(
     empno int primary key,
    itle varchar(16));

 

 3、向表中插入

 show tables; # 显示所有的数据表名

 insert dept values(1,"技术部","一楼A区");

insert dept values(2,"销售部","二楼A区");

insert dept values(3,"行政部","一楼B区");

  insert employees values(1,"张三",1,2,'2011--03-02',4400.00);

 insert manager values(2,'技术部经理');
insert manager values(4,'销售部经理');
insert manager values(5,'行政部经理');
insert manager values(99,'总裁');

4、主键primary key

联合主键:用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。

例:

create table grade( 

stuNum char(10) not null,

courseNum  char(10)  not null,

grade  int  not null,

primary key  (stuNum,courseNum))字段 stuNum和courseNum就是联合主键。

 

 总结:

主键是唯一的;

主键可以由多个字段组成;

在同一个表中,主键不可以重复;

修改、插入主键操作不可违反“主键唯一无重复”这个约束

5、查询字段

 

5.1、使用distinct 去除重复值

 

5.2、使用where来选取指定的数据

 1)常见的where运算符

 

2)利用and 和 or运算符

 

3)利用like运算符

指定模式一般为字符串,然后缺省的部分用百分号代替,例如姓刘的,“刘%”

 

4)利用in运算符

等同于:

select 字段名 from 表名 where 字段名 = 值1 or 字段名 = 值2 or ...;

除了使用in,也可以使用not in

 

以下方式可以通过多个表的信息来获取指定条件的数据

 5)利用between运算符

 

6)order by运算符

 

6、更新字段update

 

 7、删除记录delete

 

 8、index索引用法

9、view视图

 

 10、NULL值

 11、字段名、表名的别名

 

 支持中文,使得表更具有可读性

 11、join连接

 

内连接:

 左连接

12、子查询

13、常用的统计函数(count、min、max、sum、avg等)

13.1、count——统计指定的字段不为null的记录总数

 

 13.2、max\min函数——统计所选字段的最大\小值

 

 

 13.3、avg——求字段值的平均值

 13.4、sum——对所选字段的记录进行求和

 

 14、group by分组函数(按照给定的字段进行不同的分组)

group by其实就是先按照group by后面的字段进行分组,然后对每一组利用统计函数进行求解,最后返回每一组的结果,含不同的字段

 

 

 

 15、having 过滤分组

 补充:having和group by结合使用,首先是根据group by进行分组得到不同分组的统计值,然后再过滤掉不符合having条件的分组。

 16、课后测试

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一次面试实习生经历

面的.net方向的 1,研究的方向,有没有看过相关论文,了解下前沿技术、国内外发展现状。云存储安、云计算。没有了解过相关内容。没有聊多少,是自己知识上的欠缺。曾经有想过看看相关内容。研究下云计算相关知识。但到如今没有付诸实…

struts2学习笔记(常见错误)

1、由于笔者使用的时最新的struts2 (version 2.5.14.1),之前下载的是all , 一直配置不上,然后查了google才下载的min版本。 这里面有配置struts2需要的必备的jar包,而至于上面的all里面lib里面的jar包实在太多,虽然我…

探寻C#事件本质1

我最先在学习C#事件的时候,阅读了许多书籍,但总是不能对事件建立起一个比较清晰的概念,对其内部机制和原理也是似是而非,因为这些书籍在描述事件的时候总是夹杂许多其他不能理解的抽象术语,相信许多初学者都有这样的感…

C#图解教程 第十二章 数组

数组数组定义重要细节数组的类型数组是对象一维数组和矩形数组实例化一维数组或矩形数组访问数组元素初始化数组显式初始化一维数组显式初始化矩形数组快捷语法隐式类型数组综合内容交错数组声明交错数组快捷实例化实例化交错数组比较矩形数组和交错数组foreach语句迭代变量是只…

【数据库学习】——windows、MySQL构建新闻管理系统(控制台版)

学习记录:【Python项目实战】PythonMySQL开发新闻管理系统全集_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Qb4y1b75q?p2&spm_id_frompageDriver 目录 一、项目介绍 1、项目结构 2、系统部分功能提前展示 3、项目流程图 4、项目设计的数据库以及…

matlab张量工具初步

最近从桑迪亚实验室下载了张量工具包。但是不太会用。 很多网上的方法, addpath(pwd) cd met; addpath(pwd) savepath Mones(4,3,2); Xtensor(M); Xtensor(rand(5,1)) Ytensor(rand(4,3,1)) Xtenrand([4 3 2]) X.size %*************************** Rsptenrand([5 4…

微信红包API接口(PHP)

发布时间:2015年2月25日 / 分类:WEB开发,PHP / 74,825 / 241 ℃ 根据微信高级红包接口,开发PHP版本的API接口,现在进行主要代码分析。 红包接口调用请求代码,所有请求参数为必填参数与文档对应: 1234567891…

2016年个人技术总结(前端)

自我总结 参与项目 备注:[☆-表示比较吊的项目,-从头开始做,^-中间加入项目] 神马生活(微信公众号商城)[^] 神马学院[] <!------跳槽线--------> 大数据套件[☆][^] fable数据营销平台(加入新功能&#xff0c;交互)[^] fit问卷系统[] fit投放系统[] fit画像[^] 理财通点击…

浅谈OpenCV[轉]

OpenCV是一个由Interl公司支持的开源机器视觉库&#xff0c;关于它的介绍&#xff0c;网上随便一搜就车载斗量。这里我不谈OpenCV的主要内容&#xff0c;而是将这段时间来对它的使用心得作个简单介绍&#xff0c;以启发打算用这个库的朋友的思路&#xff0c;与大家一起来分享。…

【pyqt5学习】——tablewidget控件学习

目录 1、Table Widget 1.QTableWidget不能在mainwindow中随主窗口的大小变化&#xff1f; 2.将表格变为禁止编辑&#xff1a; 3.设置表格为整行选择 4.单个选中和多个选中的设置&#xff1a; 5.表格表头的显示与隐藏 6.对表头文字的字体、颜色进行设置 7.在单元格里加入…

吴忠军 - 如何理解马云所说的月入两三万,三四万的人最幸福?

这句话源于一段两分钟的视频&#xff0c;马云的一次阿里内部会议演讲。 马云坦承&#xff0c;自己从第一天起就没想过当首富&#xff0c;还为此稀释公司持股&#xff0c;“没想到把自己的股份降到8%&#xff0c;还是有那么多&#xff0c;这是我没有想到的。” 在马云看来&#…

iOS小知识点(非UI部分)

1。 _cmd 表示当前方法的SEL指针&#xff0c; - (void)putString{} 对于这个函数_cmd 等效于selector(putString)转载于:https://www.cnblogs.com/dongfangchun/p/5341599.html

jQuery 操作 CSS

jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些&#xff1a; addClass() - 向被选元素添加一个或多个类removeClass() - 从被选元素删除一个或多个类toggleClass() - 对被选元素进行添加/删除类的切换操作css() - 设置或返回样式属性转载于:https://www.cnblogs.com/…

彩色CCD相机工作原理

原理 黑白&#xff08;单色&#xff09;相机 CCD原理并不复杂。我们可以把它想象成一个顶部被打开的记忆芯片。因此光束可以射到记忆单元中。根据"光电效应”&#xff0c;这些光束在记忆单元中产生负电荷&#xff08;下图中右上部分&#xff09;。 曝光后&…

Linux 系统常用命令汇总(二) vi 文本编辑

文本编辑vi命令作用文件名编辑文本文件&#xff0c;若文件不存在同时创建该文件Ctrlf向后翻一页Ctrlb向前翻一页Ctrld向后翻半页Ctrlu向前翻半页光标移动到下一行-光标移动到上一行数字空格光标向右移动n个字符0移动到本行首个字符处$ 移动到本行最后一个字符处H光标移动到屏幕…

图像处理与计算机视觉:基础,经典以及最近发展(2)图像处理与计算机视觉相关的书籍

1. 数学 我们所说的图像处理实际上就是数字图像处理&#xff0c;是把真实世界中的连续三维随机信号投影到传感器的二维平面上&#xff0c;采样并量化后得到二维矩阵。数字图像处理就是二维矩阵的处理&#xff0c;而从二维图像中恢复出三维场景就是计算机视觉的主要任务之一。这…

【HTML学习】——HTML常见标签属性和方法介绍

目录 1、HTML分块--------< div> 2、HTML段落--------< p> 3、HTML标题--------< h1>…< h6> 4、HTML链接--------< a> 1)< a href“http://www.baidu.com”>百度< /a>&#xff08;点击百度&#xff0c;直接跳转到网页&#xf…

开发者应警惕的七种糟糕职业规划错误

那些心灵鸡汤式的说辞总爱美化失败&#xff1a;失败是成功之母啦、失败使人成长啦、别畏惧失败等等。但事实上&#xff0c;这种思路在软件开发领域也许并不适用——至少不完全适用。每位开发者在职业生涯中都不可避免会遭遇失败&#xff0c;但为什么不从他人的经验中汲取教训来…

Splay模板

打LCT的时候发现Splay很不熟, 因此这里贴一下模板 洛谷P3369 https://www.luogu.org/problem/show?pid3369#sub /* 提一些要注意的点: 1. 注意判断边界, 不要访问到空节点 2. 每一次操作或访问完以后, 记得要splay到root 3. insert操作只要update当前节点和父亲节点即可, 因为…

图像处理与计算机视觉 基础、经典以及最近发展

申明&#xff1a;本文非笔者原创&#xff0c;原文转载自&#xff1a;http://blog.csdn.net/liuyue2046/article/details/12658441 ***************************************************************************************************************************************…