数据库操作

本文详细介绍了数据库操作,包括增、删、改、查的基础操作,如创建、删除数据库和表,插入、更新和删除数据。讨论了简单查询、聚合函数的使用,以及不同类型的链接查询,如内链接、外链接。同时,提到了MySQL的特点和常用数据类型,以及如何进行数据约束和表别名的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库储存阶段:

人工管理阶段:方式:结绳、甲骨文、纸

特点:不方便管理和查询

文件系统阶段:方式:各种文件

特点:查询不是很方便

数据库阶段:方式:有组织的数据合集

特点:方便便维护管理和查询

分类:关系型数据库

非关系型数据库:Redis、Mongodb、Hbase

关系型数据库:Oracle:大型项目中使用

MySQL:主要用在Web项目,目前使用最广放的数据库

SQL Server:微软的数据库

SQLite:轻量级数据库,主要应用在移动平台

核心要素:数据行(一条记录)

数据列(字段)

数据表(数据行的集合)

数据库(数据表的集合,一个数据库中能够有n多个数据表)

MySQL特点:开源软件、稳定、性能较好

常用数据类型:整行:int

小数:decimal decimal(5,2)表示有5位数,2位小数,3位整数

字符串:varchar(char)

时间日期:datatime

枚举类型:enumerate("")

数据约束:主键:primary key 不能重复

非空:not null 不能为空

唯一:unique 可以为空,不能重复

默认值:default 自动生成

外键:foreign key 多个表关联

非负:unsigned

自增:auto_incremeng

常见数据库操作命令:

查看所有数据库:show database

使用数据库:use 数据库名

查看当前使用数据库:select database()

创建数据库:create database 数据库名 charset=utf8 collate utf8_general_ci

删除数据库:drop database 数据库名

数据表操作:

查看当前数据库所有的表:show tables

查看表结构:desc 表名

查看表的创建语句:show create table 表名

创建表:create table 表名 (字段 值,字段 值);

增:

创建库:create database 库名 character set utf8

创建表:create table 表名 (字段 属性(值))

在表中加数据:insert into 表名 values(值1,值2)

insert into 表名(字段1,字段2) values(值1,值2)

删:

删除表中的数据:

删除表中的所有数据:delete form 表名

删除满足条件的数据:delete form 表名 where 条件

删除表:drop table 表名

删除数据库:drop database 库名

改:

修改表中的数据:

修改表中所有的数据:update 表名 set 字段名=值

只修改满足条件的记录:update 表名 set 字段名=值 where 条件

简单查询:

select 字段名,...   from 表名:select * from db1

where条件:select * from db1 where 字段名

group by 字段(分组)

having 条件(分组后加条件)

order by 字段(排序):选项asc:升序(默认值)    desc:降序

limit 数字:只显示最上边数字行

<>或!=   :不等于

between ... and ... :between 20 and 30:在20到30之间(包括20和30)

is null :字段为空        格式:where ID is null :ID为空

is not null :字段不为空        格式:where ID is not null :ID不为空

like:模糊查询:选项:%表示任意字符     _表示一个字符

聚合函数:

求和:sun()

求平均值:acg()

求最大值:max()

求最小值:min()

统计记录条数:count()

格式:select 函数(字段) from 表名

删除:

delete:删除表中数据,不会截断表(删除现有数据后,排序不会重新排列)

delete from 表名 where 条件

drop:删除整个数据库或删除整个表

drop table 删除表

drop database 删除库

truncate:删除表中全部数据,会截断表

去除重复字段distinct

select distinct age from db1:去除db1中重复的年龄

完整的查询格式(先后顺序)

select ... from ... where ... order by ... limit ... group by ... having ...

链接查询:

交叉链接:表中每一行,分别和其他表的每一行,组成一个新的行。

                  新表的行数是两个表的行数相乘,列数是两个表的列数相加

格式:select * from 表1,表2;

自然链接(内链接、等值链接):将多个表中符合条件的进行链接

格式:select * from 表1,表2 where 表1.字段=表2.字段;

问题:会导致数据缺失

解决方法:左外链接:左表,第一个表

                  右外链接:右表,第二个表

                 全外链接:MySQL不支持

格式:select 字段 from 左表 left join 右表 on 条件

           select 字段 from 左表 right join 右表 on 条件

字段别名:给字段取一个新名字,本句话中其他位置全用新名字

格式:select 字段名 as 新名字 from 表名

表别名:select 字段 from 表名 as 表名

子查询:在查询语句中,使用另外一个语句的查询结果

格式:select 字段 from 表名 where 字段或条件=(select 字段 from 表名 where 条件)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值