MySql

本文介绍了SQL编程语言的基础知识,包括查看和创建数据库,数据表的操作如查看、创建和删除,以及数据的增删改查操作。讨论了主键(PRIMARYKEY)和外键(ForeIGNKEY)的概念,表设计的一对一、一对多和多对多关系,并讲解了如何使用GROUPBY进行聚合查询。
摘要由CSDN通过智能技术生成

目录

一,SQL编程语言

数据库操作:

1,查看所有的数据库:

2,创建数据库 :

3,使用数据库 :

4,删除数据库 :

数据表操作 (前提是需要选中数据库) :

1,查看数据表 :

2,创建数据表 :

数据表类型

3,查看指定表结构

4,删除表

MySQL表的增删改查

新增/插入数据

删除数据

修改数据

查询数据

数据库约束:

 PRIMERY KEY

FOREIGN KEY

表的设计:

聚合查询:

group by

用来分组查询

1,分组前,筛选,使用where条件

2,分组后筛选使用having条件


一,SQL编程语言

通过SQL来完成对数据库的增删改查

数据库操作:

1,查看所有的数据库:

show databases;

2,创建数据库 :

create database  if not exits 数据库名 charset utf8; (防止中文乱码尽量在创建数据库的时候就设置好字符集) if not exits 可以防止 出现两个相同的数据库

3,使用数据库 :

use 数据库名;

4,删除数据库 :

drop database 数据库名称;(这个操作会有点危险,尽量不要使用)

数据表操作 (前提是需要选中数据库) :

1,查看数据表 :

show tables;

2,创建数据表 :

create table 数据表名 (列名 类型,列名,类型....)

那么数据表中的类型都有哪些呢? 举例几个常见的:

数据表类型

int 整数类型

varchar(N):表示字符串;

double(M,N):M:有效数字;N:小数点后的位数

decimal:更精确的表示小数

datetime:日期类型

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其 如此,还不如设计时,将int类型提升为bigint类型

3,查看指定表结构

desc 表名;

4,删除表

drop table 表名;

MySQL表的增删改查

新增/插入数据

insert into 数据表名 values(值,值)  这些值要与之前创建数据表的时候,设置值的类型相匹配

删除数据

drop from 表名 where 条件

修改数据

update 表名 set 列名 = 值(改后)  where 列名 = 值 (改前);

查询数据

1,全列查询 select * from 表名;

2,指定列查询 select 列名 ,列名 from 表名;

3表达式查询 select 表达式 from 表名

4,带别名的查询 select 表达式 as 别名from 表名;

5,去重查询select distinct 列名/表达式 from 表名

条件表达式:

逻辑表达式:

 

6 排序查询 select 列名 from 表名 order by 列名[desc] ,列名[desc];

desc :是降序

asc : 是升序 如果不写就默认升序排序

7,条件查询: select 列名 from 表名 where 条件;

8,模糊查询: select 列名 from 表名 where 列名 like 条件

9,NULL查询:

 10,分页查询

select * from 表名 LIMIT 数据条数

select * from 表名 limit 从哪里开始 offset 到哪里结束

数据库约束:

约束,就是数据库针对里面 的数据能写啥,给出的一组"检验规则"

 PRIMERY KEY

主键

自增主键

PRIMERY KEY AUTO INCREMENT

FOREIGN KEY

两张表进行关联

两张表

student class

 此时就要求student表中的每个记录的classId得在class表的classId中存在

student受到class的约束,就把class叫做student的父表(parent),student就是class的子表(child)

 在学生表插入班级的时候,mysql会先拿着这个记录的classId去class表中看有没有,如果有才能完成后续的插入,如果没有插入失败

外键

子表中的记录,需要中存在

针对子表进行插入数据/修改数据.都需要去父表中查询一次

针对父表不能删除;针对子表不能添加和更改

表的设计:

一对一

一对多

多对多

没关系

聚合查询:

把查询过程中,表和行和行之间进行一定的运算

 

有时候需要分组聚合

group by

用来分组查询

指定一个类就会把列里面值相同的分到同一个组中

select指定的列要么带有聚合函数的,要么就是带有指定的group by的列,不能指定一个非聚合非group by的列

分组的时候,可以指定条件是筛选

1,分组前,筛选,使用where条件

select 列名 from 表名 where 条件 group by 列名;

2,分组后筛选使用having条件

select 列名 from 表名 group by having 条件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值