文章目录
- 什么是数据库?
- MySQL数据库
- 1.数据库操作
-
- 1.1展示数据库
- 1.2创建数据库
- 1.3使用数据库
- 1.4删除数据库
- 2.常用数据类型
- 3.数据表操作
-
- 3.1创建表
- 3.2查看表结构
- 3.3删除表
- 4.数据操作
-
- 4.1新增数据–Create
- 4.2删除数据–Delete
- 4.3查找数据–Retrieve
- 4.4更改数据–Update
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
MySQL数据库
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MySQL 是开源的,目前隶属于 Oracle 旗下产品。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统服务器托管网。
1.数据库操作
1.1展示数据库
SHOW DATABASES;
- information_schema数据库是MySQL服务器的数据字典(保存所有数据表和库的结构信息)
- performance_schema数据库是MySQL服务器的性能字典(保存全局变量等的设置)
- mysql 主要负责MySQL服务器自己需要使用的控制和管理信息(用户的权限关系等)
- sys是系统数据库,包括了存储过程,自定义函数等信息
这四个数据库是MySQL安装时自带的,不要随意删除
1.2创建数据库
CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];
- []内是可选操作
- CHARACTER SET: 指定数据库采用的字符集
- COLLATE: 指定数据库字符集的校验规则
- 不能创建两个名相同的数据库
当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ c
这里我们就创建了一个库名为‘study’的数据库
1.3使用数据库
后续对表的操作都是建立在选中库的前提下进行的
USE 数据库名称;
1.4删除数据库
DROP DATABASE 库名;
删除操作是一个危险操作,当数据库内容涉及金钱时,操作要尤其慎重
2.常用数据类型
字符型 VARCHAR(SIZE)
这是一个可变长的字符串
整型 INT
浮点型 DECIMAL(M,D)
M表示小数位数,D表示保留小数点后多少位
日期类型TIMESTAMP
范围从1970到2038年,自动检索当前时区并进行转换。
3.数据表操作
需要操作数据库中的表时,需要先使用该数据库
3.1创建表
CREATE TABLE t服务器托管网able_name (
字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ],
字段2 字段2类型 [字段属性] [COMMENT 字段2注释 ],
字段3 字段3类型 [字段属性] [COMMENT 字段3注释 ],
);
这里我们创建了一个名为student,拥有身份id,姓名name,年龄age,性别sex的表
3.2查看表结构
DESC 数据表名称;
- Null表示是否允许为空
- Key索引类型
- Default 表示默认值
- Extra扩充
3.3删除表
危险操作哦
DROP TABLE 数据表名称;
4.数据操作
4.1新增数据–Create
INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …);
- column表示选择插入列的列名,如果这个表的所有都有内容要插入,则可以省略这个步骤
- value代表值
- 这里的值要跟表中的列类型一一对应,如果限定了列,则要与列的类型对应。
我们在这里插入了两条数据,展示一下
这个查询语句在后续会讲到
我们在这里指定id和name这两列进行插入数据
4.2删除数据–Delete
删除操作需谨慎!!!
DELETE FROM table_name [WHERE …] [ORDER BY …] [LIMIT …]
这些语法在后面会在查找数据中讲到
4.3查找数据–Retrieve
SELECT
[DISTINCT] {* | {column [, column] …}
[FROM table_name]
[WHERE …]
[ORDER BY column [ASC | DESC], …]
LIMIT …
我们创建一个新表
方便后续内容做示例
4.3.1全列查询
SELECT * FROM 数据表名;
一般不建议进行全列查询,因为当数据过多时,会对服务器造成很大的压力。
4.3.2指定列查询
SELECT 列名,列名 FROM 数据表名;
注意指定列查询时,不需要按照数据表的顺序来查询
4.3.3查询字段为表达式
这里生成表单都是临时产生的,并不会对原表的内容进行更改
- 查询可以不包含字段
- 可以包含一个字段
- 可以包含多个字段
4.3.4别名–AS
SELECT column [AS] alias_name […] FROM table_name;
4.3.5去重–DISTINCT
4.3.6排序–ORDER BY
– ASC 为升序(从小到大)
– DESC 为降序(从大到小)
– 默认为 ASC
SELECT … FROM table_name [WHERE …]
ORDER BY column [ASC|DESC], […];
- NULL默认为最小,降序时,出现在最下面,升序时出现在最上面
- 还可以使用表达式或者别名来进行排序
select name,math+english from score order by math+english;
select name,math+english+chinese as totalfrom score order by toeal;
- 可以以对多个字段进行排序,排序顺序按书写顺序来
例如此时 就先按照数学成绩来排序,如果数学成绩相同则按照英语成绩来排序
select name,math,chinese,english from score order by math,english,chinese
4.3.7条件查询– WHERE
-
- WHERE条件可以使用表达式,但不能使用别名。
-
- AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
查询数学成绩大于60分
查询数学成绩大于60并且英语成绩小于70的学生
4.3.8分页查询–LIMIT
offset后面的数字表示从什么位置开始查找
limit 后的数字表示查找几条数据
4.4更改数据–Update
UPDATE table_name SET column = expr [, column = expr …]
[WHERE …] [ORDER BY …] [LIMIT …]
以上就是基础部分全部内容,如果对你有帮助的话,点赞关注支持一下吧
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net