数据库
数据库数据库是用来组织、存储和管理数据的仓库。
数据库分类
1.传统型数据库(关系型数据库或SQL数据库):MySQL、Oracle、SQL Server
2.新型数据库(非关系型数据库 或 NoSQL 数据库):Mongodb
传统型数据库的数据组织结构
在传统型数据库中,数据的组织结构分为数据库(database)、数据表(table)、数据行(row)、字段(field)这 4 大部分组成,与excel类似
每个 Excel 中,数据的组织结构分别为工作簿、工作表、数据行、列这 4 大部分组成。
1.整个 Excel 叫做工作簿,数据库类似于 Excel 的工作簿
2.users 和 books 是工作表,数据表类似于 Excel 的工作表
3.users 工作表中有 3 行数据, 数据行类似于 Excel 的每一行数据
4.每行数据由 6 列信息组成,字段类似于 Excel 的列
5.每列信息都有对应的数据类型,每个字段都有对应的数据类型
实际开发过程中库,表,行,字段关系
1.实际开发过程中,一般情况下,每个项目都对应独立的数据库。
2.不同的数据,要存储到数据库的不同表中,例如:用户数据存储到 users 表中,图书数据存储到 books 表中。
3.每个表中具体存储哪些信息,由字段来决定,例如:我们可以为 users 表设计 id、username、password 这 3 个字段。
4.表中的行,代表每一条具体的数据。
SQL
SQL是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据。
SQL只能在关系型数据库中使用(如上面的MySQL、Oracle、SQL Server),非关系型数据库不支持SQL语言
SQL可以从数据库中查询数据,插入新的数据,更新数据库的数据,从数据库删除数据等等
SQL基本语法
每条SQL表达式结束之后都以;(分号)结束
SQL关键字之间都以空格进行分割
--是注释的意思,一行注释
一些基础语法
⭐CREAT DATABASE 数据库名;
注意分号结尾,创建数据库
⭐USE 数据库名;
指定在哪个数据库进行操作
⭐CREAT TABLE 表格名(
列名1 INT AUTO_INCREMENT PRIMARY KEY,
列名2 VARCHAR() NOT NULL,
列名3 DATE NULL
);
创建表格,括号里是列名,列名后要规定数据类型,列名之间用逗号来隔开
比如INT代表整数
VARCHAR代表字符串 括号里是限定的字符个数
DATE代表时间 输入格式是年-月-日
注意:列名可以写在同一行,但是为了方便观看都会换行并且缩进
另外,可以在VARCHAR()后面加上NOT NULL代表输入不能为空,不然就会报错,NULL代表不输入内容默认为空
AUTO_INCREMENT代表自动递增数字
最后还会设置PRAMARY KEY主键,可以更准确地找到对应数据,注意这个列名里的数据必须唯一且不能为空,比如id
⭐ALTER TABLE 数据库名.表格名 ADD 列名 数据类型 默认条件
改变表格
⭐DROP DATABASE 数据库名;
删除数据库
⭐DROP TABLE 数据库名.表格名
删除表格
⭐BETWEEN 数据 AND 数据
查找数值范围内的数据
⭐WHERE 列名 IN(数据,数据)
可以查找数据范围
⭐SELECT country列名 LIKE ‘B%’ FROM 表名称
意思是查找以B开头的数据,以a结尾用%a,还可以用下划线_代表任意字符,比如__b%就代表以b为第三位的数据(前面是两个下划线,如果不写%就代表找三个字母的数据且最后一个字符是b)
表格合并
⭐SELECT * FROM 表格名1 INNER JOIN 表格名2
ON 数据库1.列名 = 数据库2.列名;
取表格的交集,ON后面是合并条件
⭐SELECT 列名 FROM 表格名1
UNION
SELECT 列名 FROM 表格名2;
取表格的并集,注意只有UNION是不会有重复值的,在UNION后面加上ALL就不会去重
⭐LIGHT JOIN
左连接,将表格合并到LIGHT JOIN 左边的表格
⭐RIGHT JOIN1
右连接,将表格合并到右边的表格
select查询语句
用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)
语法:
⭐SELECT * FROM 表名称;
从FROM指定的【表】中,查询出【所有的】数据(*意思是所有的)
⭐SELECT 列名称1,列名称2 FROM 表名称
从FROM指定的【表】中,查询出指定列名称(字段)的数据
PS:SQL中对大小写不敏感,SELECT和select一样
⭐SELECT DISTINCT * FROM表名称
查找不同的数据
insert into 插入语句
INSERT INTO 语句用于向数据表中插入新的数据行
语法:
⭐INSERT INTO 数据库名.表名称 (列1,列2,...)VALUES (值1,值2,...);
向指定的表中,插入几列数据,列的值通过values指定
PS:列和值要一一对应,多个列和值之间用英文的逗号分隔,字符要用单引号
UPDATE语句
Update 语句用于修改表中的数据
语法:
⭐UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
UPDATE后是指定要更新哪个表中的数据,SET后是指定要把哪一列的数据替换为什么新值,WHERE是修改条件
DELECT语句
DELETE 语句用于删除表中的行
语法:
⭐DELECT FROM 数据库名.表名称 WHERE 列名称 = 值;
WHERE后是删除条件
WHERE子句
WHERE 子句用于限定选择的标准
WHERE子句中可以使用的运算符:
某些SQL版本中,<>可以写作!=
AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
AND与&&类似,OR与||类似
ORDER BY 子句
ORDER BY 语句用于根据指定的列对结果集进行排序。
⭐SELECT * FROM 表名称 ORDER BY num (ASC);
默认升序排列,也可以添加ASC关键字
⭐SELECT * FROM 表名称 ORDER BY id DESC;
降序排列
COUNT(*) 函数
COUNT(*) 函数用于返回查询结果的总数据条数
⭐SELECT COUNT(*) FROM 表名称 WHERE age=21
如果希望给查询出来的列名称设置别名,可以使用 AS 关键字,如下
⭐SELECT COUNT(*) AS uage FROM students WHERE age=21
SUBSTRING()函数
用于从字符串中提取子字符串
⭐SUBSTRING(STRING,START,LENGTH)
STRING:要从中提取子串的源字符串
START:字串在源字符串的起始位置
LENGTH:要提取的子串长度,如果省略,则提取从起始位置到字符串末尾的所有字符
到此这篇数据库初学者(数据库初学者入门)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/19828.html