linux MySQL高级
MySQL可以作为后端的数据库使用,管理数据库,使用增删改查进行管理。
目录
一、常用的数据类型
二、MySQL数据库管理
三、SQL 语句
四、DQL查询数据记录
五、总结
一、常用的数据类型
1.数据类型
(1)int:整型 用于定义整数类型的数据
(2)float:单精度浮点4字节32位 准确表示到小数点后六位
(3)double:双精度浮点8字节64位
(4)char:固定长度的字符类型 用于定义字符类型数据。 20字节 4 16 空格
(5)varchar:可变长度的字符类型 20 4 4
(6)text:文本
(7)image:图片
(8)decimal(5,2):5个有效长度数字,小数点后面有2位 指定长度数组 55555.00
ps:Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错
二、MySQL数据库管理
1.存储类型
MySQL是一个支持多种存储引擎的关系型数据库管理系统,不同的存储引擎有各自的特点和适用场景。以下是MySQL支持的一些常见存储引擎:
-
InnoDB存储引擎:InnoDB是MySQL默认的存储引擎,支持事务处理、行级锁、外键约束和多版本并发控制等特性,适用于高并发、高可靠性的应用场景。
-
MyISAM存储引擎:MyISAM不支持事务处理和行级锁,但支持全文索引、压缩、空间函数和表锁等特性,适用于读多写少的应用场景。
-
Memory存储引擎:Memory存储引擎将数据存储在内存中,支持快速的读写操作,但不支持持久化存储和大容量数据,适用于缓存、会话数据和临时表等应用场景。
-
CSV存储引擎:CSV存储引擎将数据存储在CSV格式的文件中,适用于导入和导出数据、数据交换和数据备份等应用场景。
-
Archive存储引擎:Archive存储引擎将数据以压缩格式存储,适用于大量历史数据的存储和查询等应用场景。
-
Blackhole存储引擎:Blackhole存储引擎将所有写入操作都忽略,适用于数据复制和数据分发等应用场景。
-
ps:以上存储引擎并不是全部,MySQL还支持其他存储引擎,如NDB存储引擎和Federated存储引擎等。
根据应用场景的不同,选择合适的存储引擎可以提高MySQL的性能和可靠性。
三、SQL 语句
1.语言分类
在关系型数据库中,DDL、DML、DQL和DCL是四种不同的SQL语言类型,用于不同的操作和管理数据库对象的权限。以下是它们的具体介绍:
-
DDL(Data Definition Language,数据定义语言):DDL用于创建、修改和删除数据库对象,如表、索引、视图、存储过程等。常见的DDL操作包括CREATE、ALTER和DROP等。DDL语句执行后会立即生效,对数据库结构进行修改。
-
DML(Data Manipulation Language,数据操作语言):DML用于插入、更新和删除数据库中的数据。常见的DML操作包括INSERT、UPDATE和DELETE等。DML语句执行后会改变数据库表中的数据。
-
DQL(Data Query Language,数据查询语言):DQL用于查询数据库中的数据。常见的DQL操作是SELECT。DQL语句不会改变数据库中的数据,而是返回查询结果。
-
DCL(Data Control Language,数据控制语言):DCL用于控制数据库的访问权限和安全性。常见的DCL操作包括GRANT和REVOKE等。DCL语句不会改变数据库结构或数据,而是控制对它们的访问权限。
ps:总的来说,DDL用于定义数据库结构,DML用于操作数据库数据,DQL用于查询数据库数据,DCL用于控制数据库访问权限。
这四种SQL语言类型是关系型数据库中操作和管理数据的基础。
2.sql语句
(1)SELECT语句:用于从一个或多个表中查询数据。
(2)INSERT语句:用于向表中插入新的行。
(3)UPDATE语句:用于更新表中的数据。
(4)DELETE语句:用于删除表中的行。(只删除记录)
(5)CREATE语句:用于创建表、视图、存储过程等数据库对象。
(6)ALTER语句:用于修改表的结构。
(7)DROP语句:用于删除表、视图、存储过程等数据库对象。(全部删除)
四、DQL查询数据记录
1.查询
格式:
SELECT 字段名1,字段名2[,...] FROM 表名[WHERE 条件表达式];
(1)普通查看表内容
(2)条件筛选查询
(3)竖向查看
(4)查看前两行(limit)
(5)查看从第二行开始两行
2.修改
格式:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
(1)修改指定内容
3.删除
格式:
DELETE FROM 表名 [WHERE 条件表达式];
(1)删除指定行
(3)删除表
4.alter修改
(1)修改表名
(2)增加字段
(3)修改字段(列)名
(4)添加唯一键
(5)删除字段
(6)指定主键的第二种方式
(#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001
#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;
自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且
添加失败也会自动递增一次
#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键
#not null:表示此字段不允许为NULL)
(7)复制表格式(备份)
(8)复制表内容(备份)
(9)创建复制表(主键)
(10)清空表(删除表内的所有数据)
(11)清空表,在复制格式
删除速度:drop> truncate > delete(安全性最高)
(12)创建临时表
临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出
后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除
临时表。
PS:无法创建外键
创建临时表
show查看不了表
可以用desc查看
使用select删除不了,但是可以drop可以删除
五、总结
SQL语句是控制管理数据库的语句,可以对数据库进行增删改查,完成对数据库的管理。数据库SQL是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,被广泛用于各种关系型数据库,包括 Microsoft SQL Server、MySQL、Oracle 等。SQL 语言具有简洁、灵活、高效的特点,可以实现对数据库的各种操作,包括查询、插入、更新、删除、排序、分组等。SQL 语言的基本语法包括 SELECT、FROM、WHERE、ORDER BY、GROUP BY 等关键字。