数据库

首先下载安装MySQL和navicat(用于管理数据源)

下载和安装MySQL - Wild-bokeyuan - 博客园 (cnblogs.com)

navicat免费下载 - Wild-bokeyuan - 博客园 (cnblogs.com)

打开navicat

有多种数据源可选

 

点击MySQL连接本地mysql数据源

密码是MySQL的密码

 

点击此选项新建一个库,可以在此进行敲写sql代码

创建数据库

 

 

创建一个表

 

运行后双击数据库,打开表格即可看见刚才创建的表

是一个空表

查看当前数据库所有的表

查看指定表的创建语句

查看表结构

查看指定表的行和列以及类型

删除表,刷新后可看见表不见了

修改表结构

 

 

在表内刷新即可看见新增列

 

 

 

 

 

 

 

 

 

 

常见数据类型 

 

 

 

 

 

DML操作

1.数据的插入

 

 

 

 

 

2.数据修改 

 

 

 

3.数据删除

 

 

约束

主键约束

指定主键约束

在 create table 语句中,通过 PRIMARY KEY 关键字来指定主键。

有个金色的钥匙就代表该列为主键

主键约束的作用

主键是唯一且不为空的,也就是说主键上的内容是不能重复的

主键上还不能为空,否则会报错

 

联合主键约束

就是这个主键是由一张表中多个字段组成的

注意:1.当主键是由多个字段组成时,不能直接在字段名后面声明主键约束(也就是格式1)

   2.一张表只能有一个主键,联合主键也是一个主键

 

通过修改表结构添加主键

主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。

-- 添加单列主键

 

 

删除主键约束

个表中不需要主键约束时,就需要从表中将其删除。删除主键约束的方法要比创建主键约束容易的多。

 

自增长约束

在 MySQL中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。
每增加一条记录,主键会自动以相同的步长进行增长。

新建好表后开始添加数据

自增长约束的特点

默认情况下,auto_increment的初始值是1,每新增一条记录,字段值自动加 1

一个表中只能有一个字段使用 auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)

auto_increment约束的字段必须具备 NOT NULL属性

auto_increment约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT等

auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,autoincrement就会失效

指定自增字段初始值

如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增。例如,如果表中插入的第一条记录的 id 值设置为 5,那么再插入记录时,id 值就会从5 开始往上增加

如果再加一条

第二种方式

delete和truncate在删除后自增列的变化

delete数据之后 自动增长从断点开始

truncate数据之后 自动增长从默认起始值开始

delete数据

再增加数据

从断点的地方继续

 truncate数据

再添加数据进去

自增长从默认值开始

 

非空约束(not null)

MySQL非空约束(not nul)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没
有指定值,数据库系统就会报错。

创建非空约束

 

删除非空约束

 

唯一约束(unique)

指所有记录中字段的值不能重复出现,例如,为id字段加上唯一性约束后,每条记录的id 值都是唯一的,不能出现重复的情况。

 添加张三号码为10086,没有问题

添加李四的号码也为10086则报错 

插入2个null值却不报错

 

原因是在sql语言中null与任何值都不相同,包括null自己 

第二种方法稍微比较麻烦

删除唯一约束

注意:当没有约束名的时候,删除列名即可

默认约束

指定某列的默认值。

 

 答案是空的,赋值为null还是null,不会变为默认

 删除默认约束

 

零填充约束(zerofill)

1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0

2、zerofill默认为int(10)

3、当使用zerofill 时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。

默认为10个长度

删除零填充约束

DQL操作--基本查询

数据准备

基本查询前我们需要准备数据,有数据才可以查询

检查

 

简单查询

 

 

运算符

算数运算符

比较运算符

逻辑运算符

 

位运算符

排序查询

 

聚合函数

count()统计指定列不为NULL的记录行数;

 

sum()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0

max()计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算: 

 

min()计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;:

 

avg()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0.

合查询 -NULL 的处理

1count 数对 null 的处理
count 数的数为 * ),统计所有记录的个数。而数为某字段,不统计
null 记录个数。
2sum avg 数对 null 的处理
这两个 null 的存在,就好该条记录不存在一样。
3max min 数对 null 的处理
max min 两个数同样 null 的存在。

分组查询 -group by

分页查询

DQL-正则表达式

 

多表操作-多表关系

一对一关系

一对多/多对一关系

多对多关系

外键约束

 创建外键约束

posted @ 2024-03-05 21:44  Wild-bokeyuan  阅读(39)  评论(0)    收藏  举报