数据库操作——初级操作

在数据库的使用过程中,大概可以分为数据库的初级操作、中级操作、高级操作
初级操作即为查询、增加、删除、更新
中级操作即为联表操作与事务操作
高级操作为性能优化

由此,开始数据的初级操作

一、初步使用

1、数据库操作

1)、创建数据库CREATE

在开始,我们首先创建一个数据库

CREATE TABLE `user_test` (
  `id` 			bigint(20)	 unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_name` 	varchar(255) DEFAULT NULL COMMENT '用户名',
  `pass_word` 	varchar(255) DEFAULT NULL COMMENT '密码',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2424797 DEFAULT CHARSET=utf8 COMMENT='用户信息表'

运行结果如下:
在这里插入图片描述
那如果创建的数据库我们不满意呢,最简单的即为直接销毁

2)、删除数据库DROP

drop table user_test 

如果创建的数据库暂时是满意的,那么可以对数据库的内容进行操作
现在开始操作

2、数据库内容操作

1)、增加 INSERT

现在将数据库表user_test中添加三条信息,分别为

iduser_namepass_word
1name1password1
2name2password2
3name3password3
那么可以使用INSET语句进行如下操作
INSERT INTO test.user_test(id, user_name, pass_word)VALUES(1, 'name1', 'password1');
INSERT INTO test.user_test(id, user_name, pass_word)VALUES(2, 'name2', 'password2');
INSERT INTO test.user_test(id, user_name, pass_word)VALUES(3, 'name3', 'password3');

当前,也可以接在VALUES后面一次性写完

INSERT INTO 
	test.user_test(id, user_name, pass_word)
VALUES
	(1, 'name1', 'password1'), (2, 'name2', 'password2'), (3, 'name3', 'password3');

2)、查询 SELECT

无论是对数据库内容如何的操作,查询都是我们必要的验证方式之一
1、整体的查询

SELECT * FROM test.user_test;

在这里插入图片描述

2、具体字段的查询

SELECT id, user_name, pass_word FROM test.user_test WHERE id=1;

3、查询的模糊

用%代替不确定的部分

SELECT * FROM test.user_test WHERE user_name LIKE 'name%';

在这里插入图片描述
LIKE 的用法只是用于表示泛指,并不只是在查询中可用,但是建议只在查询中使用,毕竟数据库的安全性是最重要的

3)、删除 DELETE

比如我们想删除字段user_name 为name3的这条数据,可以如下操作

DELETE FROM test.user_test WHERE user_name = 'name3';

在这里插入图片描述

4)、更新 UPDATE

比如我们要更新user_name 为name2时的pass_word内容为password222

UPDATE test.user_test SET pass_word='password222' WHERE user_name='name2';

在这里插入图片描述

二、常用操作方式

为了方便演示,将表中数据增加为如下
在这里插入图片描述

1、排序order by

在使用order by进行排序操作时,默认情况下完成的是升序的操作,

  • asc:是默认的排序方式,表示升序
  • desc:降序的排序方式

排序的方式是按照自然顺序进行排序的
如果是数值,那么按照从大到小
如果是字符串,那么按照字典序排序

在进行排序的时候可以指定多个字段,而且多个字段可以使用不同的排序方式

每次在执行order by的时候相当于是做了全排序,思考全排序的效率
会比较耗费系统的资源,因此选择在业务不太繁忙的时候进行

2、去重DISTINCT

为了方便研究,插入一条与id为8相同的数据,结果如下
在这里插入图片描述
两种方式查看查询user_name为name8的结果
使用distinct 前

SELECT  pass_word FROM test.user_test WHERE user_name = 'name8'

在这里插入图片描述

使用distinct 后

SELECT distinct pass_word FROM test.user_test WHERE user_name = 'name8'

在这里插入图片描述

3、限制LIMIT

有时为了一些原因,或许是为了美观,也或许是在大量数据时分批次删除更新避免锁表的发生,我们会需要对当前操作进行一些限制

select * from test.user_test limit 3
在这里插入图片描述

4、且AND

SELECT  * FROM test.user_test WHERE user_name = 'name8' and id = '8'

在这里插入图片描述

5、或OR

SELECT  * FROM test.user_test WHERE user_name = 'name8' or id = '8'

在这里插入图片描述

6、并集union

将两个集合中的所有数据都进行显示,但是不包含重复的数据

select * from test.user_test where id < 7 union
select * from test.user_test where id > 2;

在这里插入图片描述

7、全集union all

将两个集合的数据全部显示,不会完成去重的操作

select * from test.user_test where id < 7 union all
select * from test.user_test where id > 2;

在这里插入图片描述

8、交集(实验未成功,报错,Mysql不支持)

两个集合中交叉的数据集,只显示一次

select * from test.user_test where id < 7 intersect 
select * from test.user_test where id > 2;

9、差集(实验未成功,报错,Mysql不支持)

包含在A集合而不包含在B集合中的数据,跟A和B的集合顺序相关

select * from test.user_test where id < 7 minus 
select * from test.user_test where id > 2;

三、函数

1、行数COUNT()

select COUNT(*) from test.user_test

在这里插入图片描述

2、最大值MAX()

select MAX(id) from test.user_test

在这里插入图片描述

3、最小值MIN()

select MIN(id) from test.user_test

在这里插入图片描述

4、平均值AVG()

select AVG(id) from test.user_test
在这里插入图片描述

5、求和SUM()

select SUM(id) from test.user_test
在这里插入图片描述

四、不常用操作

1、对表结构的操作

1). 添加列

ALTER TABLE user_test
ADD remarks char(20);

在这里插入图片描述

2). 删除列

ALTER TABLE user_test
DROP COLUMN remarks;

在这里插入图片描述

2、导表

CREATE TABLE newtable AS SELECT * FROM user_test;

在这里插入图片描述
注意:经实验发现,此方法不需要重新建表,似乎是对表的直接复制

3、连接字段

SELECT CONCAT(user_name, pass_word) AS concat_col FROM user_test;

在这里插入图片描述

4、去空

许多数据库会使用空格把一个值填充为列宽,因此连接的结果会出现一些不必要的空格,使用 TRIM() 可以去除首尾空格

SELECT CONCAT(TRIM(user_name), '(', TRIM(pass_word), ')') AS example FROM user_test;

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值