参考视频地址:一小时MySQL教程 bilibili
SQL 基础
数据库分为关系型数据库和非关系型数据库
常见的关系型数据库:
- MySQL、PostgreSQL、Oracle、SQL Server等。
非关系型数据库:
- MongoDB(文档型数据库)、Redis(键值型数据库)、Cassandra(列族数据库)、Neo4j(图形数据库)等。
在关系型数据库中,SQL(Structured Query Language) 语言 用于操作表中的数据,SQL 不区分大小写,但是一般来说,我们将关键字大写,表名、列名和其他名称小写。SQL 语言可以分为以下几类:
- DDL (Data Definition Language) 数据定义语言: 、、、等
- DML (Data Manipulation Language) 数据操作语言: 、、、等
- DQL (Data Query Language) 数据查询语言: 等
- DCL (Data Control Language) 数据控制语言: 、等
- 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)
- 表(table):某种特定类型数据的结构化清单
- 模式(schema):关于数据库和表的布局及特性的信息
- 列(column):表中的一个字段。所有表都是有一个或多个列组成的
- 数据类型(datatype):每个表列都有相应的数据类型
- 行(row):表中的一个记录
- 主键(primary key):一列(或一组列),其值能够唯一区分表中的每个行
SQL 数据类型
一、整数类型
- INT:用于存储整数数据(4个字节)。
- SMALLINT:存储范围较小的整数(2个字节)。
- TINYINT:存储范围更小的整数
- BIGINT:用于存储非常大的整数(8个字节)。
二、浮点类型
- FLOAT:用于存储单精度浮点数。
- REAL:在某些数据库系统中,REAL是FLOAT的同义词,或用于表示另一种浮点类型。
- DOUBLE:用于存储双精度浮点数,精度高于FLOAT。
三、字符数据类型
- CHAR(n):固定长度字符数据,n表示字符数。
- VARCHAR(n):可变长度字符数据,n表示最大字符数,节省存储空间。
- TEXT:用于存储大量文本数据,长度通常超过VARCHAR的限制。
四、Unicode数据类型
- NCHAR(n):固定长度Unicode字符数据,n表示字符数。
- NVARCHAR(n):可变长度Unicode字符数据,n表示最大字符数。
- NTEXT:用于存储大量Unicode文本数据。
五、日期和时间数据类型
- DATE:仅存储日期。
- TIME:仅存储时间。
- DATETIME:存储日期和时间。
- TIMESTAMP:存储时间戳,通常用于记录时间变更或事件。
六、数值类型
- NUMERIC(p, s) 或 DECIMAL(p, s):用于精确存储小数数据,p表示总位数,s表示小数点后位数。
七、货币数据类型
- MONEY:用于存储货币数据,通常要求8个存储字节。
- SMALLMONEY:用于存储较小范围的货币数据,通常要求4个存储字节。
八、二进制数据类型
-
没java基础可以学mysql
- BINARY(n):固定长度二进制数据,n表示字节数。
- VARBINARY(n):可变长度二进制数据,n表示最大字节数。
- BLOB(Binary Large Object):用于存储大量二进制数据,如图片、音频、视频文件等。
九、其他数据类型
- BOOL 或 BOOLEAN:用于存储逻辑真或假,值通常为TRUE或FALSE,1或0。
- ENUM:枚举类型,用于存储一组预定义的值。
- ARRAY、SET、JSON等集合类型:用于存储一组数据。
需要注意的是,不同的数据库管理系统(如MySQL、PostgreSQL、SQL Server等)可能支持的数据类型及其特性略有差异。因此,在选择数据类型时,应参考具体数据库系统的文档和指南。
创建数据库
显示当前所有数据库:
创建数据库:
删除数据库:
使用数据库:
创建表
显示数据库内的表:
显示列:
创建表:
显示表的信息: 或者
修改表结构,使用 语句:
- 修改现有字段:
- 增加字段:
- 删除字段:
删除表:
重命名表:
增删改查
查询关键字:
查询语句一般格式:
通配符可以用于检索所有列:
子句用于对检索出的数据进行排序, 用于降序排序, 用于升序排序
子句顺序:
增加关键字:
修改关键字:
删除关键字:
数据导入导出
数据导出:
数据导入:
过滤数据
关键字:
分组数据
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/25547.html