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如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错
2、数据库管理
存储类型
MySQL是一个支持多种存储引擎的关系型数据库管理系统,不同的存储引擎有各自的特点和适用场景。以下是MySQL支持的一些常见存储引擎:
- InnoDB存储引擎:InnoDB是MySQL默认的存储引擎,支持事务处理、行级锁、外键约束和多版本并发控制等特性,适用于高并发、高可靠性的应用场景。
- MyISAM存储引擎:MyISAM不支持事务处理和行级锁,但支持全文索引、压缩、空间函数和表锁等特性,适用于读多写少的应用场景。
- Memory存储引擎:Memory存储引擎将数据存储在内存中,支持快速的读写操作,但不支持持久化存储和大容量数据,适用于缓存、会话数据和临时表等应用场景。
- CSV存储引擎:CSV存储引擎将数据存储在CSV格式的文件中,适用于导入和导出数据、数据交换和数据备份等应用场景。
- Archive存储引擎:Archive存储引擎将数据以压缩格式存储,适用于大量历史数据的存储和查询等应用场景。
- Blackhole存储引擎:Blackhole存储引擎将所有写入操作都忽略,适用于数据复制和数据分发等应用场景。
ps:以上存储引擎并不是全部,MySQL还支持其他存储引擎,如NDB存储引擎和Federated存储引擎等。根据应用场景的不同,选择合适的存储引擎可以提高MySQL的性能和可靠性。
3、SQL语句
3.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语言类型是关系型数据库中操作和管理数据的基础。
3.2sql语句
select语句:用于从一个或多个表中查询数据。
select * from 表名 //查询表中信息
insert语句:用于向表中插入新的行。
insert into user (id ,name,sorce) values (1,'wangwu',85);
//向user表中插入内容
update语句:用于更新标中的数据
update user set id=2 where name='lisi';
将姓名为lisi的id改为2
delete语句:用于删除表中的行。(只删除记录)
deletre from user;//删除user表中的数据
create语句:用于创建表、视图、存储过程等数据库对象
alter语句:用于修改表的结构
alter table zhen add passwd char(10);
将zhen表中插入passwd,指定为char字符型
drop语句:用于删除表、视图、存储过程等数据库对象。(全部删除)
drop table zhen;//删除表table
4、DQL查询数据记录
4.1查询
格式:
SELECT 字段名1,字段名2[,…] FROM 表名[WHERE 条件表达式];
1、普通查看表的内容
select * from a;
2、条件筛选查询
select name,sorce from a where id = 1;
查询表中id=1的name和sorce
3、竖向查看
select * from a\G;
4、查看前两行(limit)
select * from a limit 2;
5、查看从第二行开始两行
selcet * from a limit 2,2;
4.2修改
格式:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
1、修改指定内容
update a set passwd = 123123 where id=2;
4.3删除
格式:
DELETE FROM 表名 [WHERE 条件表达式];
1、删除指定行
delete from a where id=3;
2、删除表
delete from a;
4.4alter修改
1、修改表名
alter table a rename d;
2、增加字段
alter table b add address varchar(50) not null default 'null';
3、修改字段(列)名
alter table b change address school varchar(10);
4、添加唯一键
alter table b change name xm char(5) unique key;
5、删除字段
alter table b drop school;
6、指定主键的第二种方式
#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001
#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;
自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且 添加失败也会自动递增一次
#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键
#not null:表示此字段不允许为NULL)
7、复制表格式(备份)
create table a like b;
8、复制表内容(备份)
inster into a select * from b;
9、创建复制表(主键)
create table zhangsan (select * from a);
10、delete清空表(删除表内的所有数据)
DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
delete from a;
11、trunkcate清空表
TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录
trunkcate table b;
删除速度:drop> truncate > delete(安全性最高)
12、创建临时表
临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除临时表。
PS:无法创建外键
创建临时表
show查看不了临时表
可以用desc查看
使用select删除不了,但是可以drop可以删除
5、总结
SQL语句是控制管理数据库的语句,可以对数据库进行增删改查,完成对数据库的管理。数据库SQL是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,被广泛用于各种关系型数据库,包括 Microsoft SQL Server、MySQL、Oracle 等。SQL 语言具有简洁、灵活、高效的特点,可以实现对数据库的各种操作,包括查询、插入、更新、删除、排序、分组等。SQL 语言的基本语法包括 SELECT、FROM、WHERE、ORDER BY、GROUP BY 等关键字。