目录
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、课后测试