数据库相关学习笔记

mysql数据库

1.数据库分类

在这里插入图片描述

2.mysql的使用

mysql -u root -p 默认端口3306

3.sql(structured query language)

在这里插入图片描述

4.DDL

查看数据库 show databases;

删除数据库 drop database dbname;

创建数据库 create database dbname;

使用数据库 use dbname

修改数据库 alter database dbname default character set gbk;

字符校对集

在这里插入图片描述

数据类型

在这里插入图片描述

创建表 create table tname(field1 datatype,field2 datatype,…);

查看表结构 show create table tname; 或 desc tname;

修改表结构

1.添加列(字段) alter table tname add field datatype;
2.对字段名进行修改 alter table tname change field1 field datatype;
3.对字段名的类型进行修改 alter table tname modify field datatype;
4.删除一个字段 alter table tname drop field;

删除表结构 drop table tname;

5.DML(data manipulation language)

表中插入数据

1.对指定列添加 insert into tname(field1,field2,…) values(field1value,field2value,…);
2.对所有列添加 insert into tname values(field1value,field2value,…);
3.对指定列添加多行数据 insert into tname(field1,field2,…) values(field1value,field2value,…),(field1value,field2value,…),…;
4.对所有列添加多行数据 insert into tname values(field1value,field2value,…),(field1value,field2value,…),…;

修改数据 update tname set field1=xxx [where …]

带where子句的只作用于相应行;不带where子句,作用于所有行

复制表

1.复制表结构(不复制数据)create table newtname like oldtname;
2.复制表结构和数据 create table newtname select * from oldtname;

删除表中数据 delete from tname [where condition]

6.DQL(data quiry language)

查询命令 select [*]|{field1,field2,…} from tname [where condition] [order by field];

去除重复数据 select distinct field1 from tname;

在这里插入图片描述

select表达式

在这里插入图片描述
select语句中出现的列不一定存在数据表中
select database();获取当前使用数据库

where子句

比较运算符 > < 范围查找 between … and …
枚举查询in 常在子查询中出现
模糊查询
在这里插入图片描述

对查询结果集进行排序

在这里插入图片描述

分页查询 limit

在这里插入图片描述
在这里插入图片描述

数据完整性(三种)

1.实体完整性:
表中的每一行数据都是唯一的,不能出现重复的。通过主键来实现 PRIMARY KEY
自动增长auto_increment主键自动增长,不需要手动添加
删除主键约束(2步)一般情况下,一张表只有一个主键在这里插入图片描述
联合主键
对于某一张表,一条的记录的唯一性由两个或者以上的字段共同决定。
如果由2个字段决定的,只要其中之一不相同,就是一条不同的记录。
只有当两个字段都相同时,该记录不能插入到表中。
在这里插入图片描述
2.数据完整性(域完整性)field 字段 列
每一列必须符合某种特定的数据类型或约束
非空约束 not null 字段不能为空
唯一约束 unique 给字段不允许重复,允许为空
删除唯一约束 alter table tname drop INDEX name;(先获取唯一约束的name再drop)
3.参照完整性
外键约束 foreign key,外键是另一张表的主键
在这里插入图片描述
在这里插入图片描述
删除外键,先查找外键名字,然后直接删除

7.数据库备份和恢复

在这里插入图片描述

8.DQL复杂查询

连接查询 涉及到多张表

1.交叉连接(笛卡尔积)
在这里插入图片描述
2.内连接 关键字inner join
在这里插入图片描述
3.外连接
左外连接 left join 当右表中没有与之对应的记录时,查询出的右表中的数据全部用NULL代替,左表中的所有数据都出现
在这里插入图片描述
右外连接 right join 当左表中没有与之对应的记录时,查询出的左表中的数据全部用NULL代替,右表中的所有数据都出现
在这里插入图片描述

子查询

子查询也叫嵌套查询,是指在where子句或from子句中又嵌入select查询语句(一般写在where子句)
在这里插入图片描述
在这里插入图片描述

联合查询

联合查询能够合并两条查询语句的查询结果,去掉其中的重复数据行,然后返回没有重复数据行的查询结果。联合查询使用union关键字
在这里插入图片描述

报表查询

group by进行分组
当分组之后,还需要对记录进行过滤,只能使用having子句不能使用where子句; where子句在没有分组之前使用
在这里插入图片描述

9.统计函数

在这里插入图片描述

10.c语言的api

在这里插入图片描述

建立连接并进行查询

在这里插入图片描述

获取查询结果

在这里插入图片描述

释放结果集和关闭连接

在这里插入图片描述

测试代码

在这里插入图片描述
在这里插入图片描述

暂时完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值