mysql操作

引入说明:数据库的操作无非就是增、删、改、查。这里对这个进行总结

数据库、表、以及表内容是嵌套关系,必须先有数据库,再有数据库表,最后才能添加数据

一、数据库操作(就是一个文件夹)

1.创建数据库 create database 数据库名。

2.删除数据库 drop database 数据库名。

二、数据库表的操作

1.创建数据库表:create table 表名(

变量名1         数据类型1,

变量名2        数据类型2

)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='信息';;

其中常用的数据类型有 :int、 double、date(日期)、varchar(非固定长度的变量)、char(固定长度的变量)

说明:varchar跟char的区别,其中varchar是在定义范围内,输入多少内容就占多少空间。但char是定义多少空间就是多少,跟输入的无关。

注意:这些类型在输入值的时候除了整数小数不要分号(' ')其他的类型都要加上分号(日期也要)。

2.修改数据库表:

2.1、修改表名:alter table 表名 rename to 新表名;

2.2、添加字段:alter table 表名 add 字段名 数据类型;

2.3、修改某一段的类型:alter table 表名 modify 字段名 新数据类型;

2.4、修改某一段:alter table 表名 change 新字段名 新数据类型;

总结:表的修改的格式为:alter  table 表名  后续操作

为user表的name字段添加unique唯一约束

ALTER TABLE USER ADD CONSTRAINT ass UNIQUE(NAME);

3.删除数据库表或某一段内容:

3.1delete from 表名;

3.2删除某一段数据:delete from 表名 where 字段名 = 条件;

4.添加数据:

insert into (变量名1,变量名2)values(值1,值2);

注:当要输入所有变量信息是可以省略变量直接写: insert into values(值1,值2); 

三、表约束(主要使用五种)

1.主键约束:primary key 特点:一张表只有一个主键,不重复非空

推荐自动添加:auto_increment默认是从0开始,

也可以自定义起始的值 ALTER TABLE 表名  auto_increment = 给定值;

2.非空约束:限制字段不为空  not null;

3.默认约束:给字段一个默认值,default ;

4.不重复约束:限制某个字段里面的内容不跟其他字段相同 unique;

5.外键约束

[constraint 外键名] foreign key(要定义的外键)references 主表名(主键)

约束                        外                                        涉及

其中前面的[constraint 外键名]可以省略,没有定义外键名称,系统会自定为外键分配名字

四.数据库表查询(重点) 

单表查询:

1.全部查询

select  * from 表名(这是查询出整个表的信息)但在公司中不推荐,因为数据量大,会拖慢系统。

2.部分查询

select  变量名1,变量名2 .... from 表名 ;(可以根据自己需求查出内容)

3.加上判断条件:

where   :判断条件

order  by  :排序(默认为降序Desc )升序为(ASC)

group by (要按那个字段分组):分组

聚合函数:通常配合分组

count(字段名或者*):获取某个字段或者表的总数。

max(某字段名):获得某个字段最大值。

min(某字段名):获取某个字段最小值。

avg(某字段名):获得某个字段平均值。

round(7,2):设置要取的数的个数,7代表总共有7个数,2代表有两位小数。通常配合avg()使用,如:round(avg(某字段名),2)获取平均数,取两位小数。

3.多表查询:

1.表查询:

select  * from 表一,表二 where 表一.id = 表二.某个字段  可以将两张表联合起来。

2.表链接查询:

将上面的逗号改为inner  join,将where改为on(其中的inner可以省略不写)

1.select  * from 表一  inner  join 表二 on 表一.id = 表二.某个字段 

2.左外连接:

select  * from 表一  left  outer  join 表二 on 表一.id = 表二.某个字段 

3.右外连接:

select  * from 表一  right  outer  join 表二 on 表一.id = 表二.某个字段 

注:通常看是从左往右看,即将字段中有null的移到右边。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值