欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql数据库 各种操作

程序员文章站 2022-06-04 11:13:41
...

Mysql 数据库操作 命令

1. 新建数据库

CREATE DATABASE 数据库名

这种直接创建的命令我们一般不采用,你也不知道你创建的数据库名称存不存在

方法二

CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 字符集

推荐使用这种

2. 新建数据库表

CREATE TABLE IF NOT EXISTS 表名 (
   	  id bigint primary key auto_increment comment '备注',
 	  字段名  date DEFAULT null comment 备注',
 	  字段名  varchar(字段长度) DEFAULT null comment '备注',
  	  字段名  数据类型(字段长度) DEFAULT null comment '备注',

数据类型有很多,根据需要选择不同的数据类型

3. 查询语句

3.1. 查询全部

SELECT * FROM 表名

3.2 where条件

SELECT * FROM 表名 WHERE 字段名 = 参数

3.3 GROUP BY

SELECT * FROM 表名 WHERE 字段名 = 参数  GROUP BY 字段名,字段名

在使用GROUP BY的时候,如果你使用的是高于Mysql5.7版本的,就会遇到一些报错

ERROR 1055 (42000): Expression ... this is incompatible with sql_mode=only_full_group_by

当遇到这种情况的时候就需要设置一些东西了

SELECT @@GLOBAL.sql_mode;
sql_mode ="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

需要将ONLY_FULL_GROUP_BY删除,然后将剩下的set回去

set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';

但是重启就会失效哦 ,所以最好是在GROUP BY后面加上你查询的字段

3.4 HAVING

SELECT * FROM 表名 WHERE 字段名 = 参数  GROUP BY 字段名,字段名 HAVING 字段 > 参数

这个方法是对WHERE筛选之后的数据进行再次筛选

3.5 ORDER BY

SELECT * FROM 表名 WHERE 字段名 = 参数  GROUP BY 字段名,字段名 HAVING 字段 > 参数 ORDER BY 字段 DESC
SELECT * FROM 表名 WHERE 字段名 = 参数  GROUP BY 字段名,字段名 HAVING 字段 > 参数 ORDER BY 字段 ASC

ORDER BY 是对数据按照某个字段进行排序 有两种排序方式 ASC(升序) 和 DESC(降序), 系统默认是你存入数据的顺序

整个判断循序就是 WHERE , GROUP BY ,HAVING ,ORDER BY

4. 查询关联
4.1 左关联,右关联

SELECT a.*,b.* FROM a_table a LEFT JOIN b_table b ON a.字段 = b.字段
SELECT a.*,b.* FROM a_table a RIGHT JOIN b_table b ON a.字段 = b.字段

左关联,关联的桥梁必须是这两张表相对应的字段进行连接,并且数据条数以主表为基础进行关联,主表有多少数据,就会关联多少,我个人比较喜欢用左关联,两种效果一样,选择一种就可以了

4.2 内连接

select * from a_table a inner join b_table b on a.a_id = b.b_id;

内连接就是两张表通过关联桥梁取相交部分

5. 添加语句

方法一

Inset into 表名 values(1,2)

需要注意的是,values()括号里面的值必须与数据库字段顺序一一对应

方法二(推荐使用)

Inset into 表名(字段1,字段2) values(1,2)

这种方法只需要将字段名与值对应就可以了

6. 更新语句

UPDATE <表名> SET 字段 1=1 [,字段 2=2] [WHERE 子句 ][ORDER BY 子句] [LIMIT 子句]

7. 删除语句

  • 删除单条
delete from 表名 where 字段 = 参数
  • 删除所有
delete from 表名

在使用删除语句的时候,一定要慎用,一旦删除就无法恢复,最好是删除前,做好备份

小结一下:这些都是简单的CRUD,但是有些地方需要慎用,需要注意的都备注了,多多注意下。对于初学者来说,简单够用,后期会更新复杂一些的,多多关注,多多支持