mysql将最大金额加1000_Mysql数据库笔记

这篇博客介绍了MySQL数据库的基本操作,包括创建数据库和表、约束定义、表的操作(如添加、修改和删除列)、插入数据、更新和删除数据,以及查询语句的使用,如条件查询、排序和分组查询。还提到了命令行中文乱码的解决方案和SQL查询中的聚合函数。
摘要由CSDN通过智能技术生成

1.控制台操作数据库

mysql控制台操作的时候需要找到安装目录下的mysql.exe文件才能进行mysql的操作

2.创建数据库

create database 数据库名;

use 数据库名//使用这个数据库

3.创建表结构

create table 表名(

列名 数据类型 约束,

列名 数据类型 约束,

列名 数据类型 约束

)

ctrl+o 快速打开数据库文件

例如:

创建用户表

CREATE TABLE user(

uid INT,

uname VARCHAR(20),

uaddress VARCHAR(200)

);

4.约束

就是限制这一列能写什么数据不能写什么数据(相当集合中的泛型)

主键约束

格式:primary key auto_increment,//设置为主键,并且可以实现自动增长

特点:主键不能为空,并且主键唯一

5.表的操作

show tables //显示所有数据表

desc users //查看表中结构

drop table users 删除数据表

6.修改表的结

/*

1.添加列

alter table 表名 add 列名 数据类型(长度) 约束;

*/

ALTER TABLE users ADD tel VARCHAR(20);

/* 2.修改列,在原有的列上修改

可以修改列的数据类型以及长度和约束

alter table 表名 modify 列名 数据类型(长度) 约束;

*/

ALTER TABLE users MODIFY uname VARCHAR(50);

/*

3.修改列名

alter table 表名 change 旧列名 新列名 数据类型(长度) 约束;

*/

ALTER TABLE users CHANGE tel newtel VARCHAR(50);

/*4.删除列

alter table 表名 drop 列名;

*/

ALTER TABLE users DROP newtel;

/*5.修改表名

rename table 旧表名 to 新表名

*/

RENAME TABLE users TO newusers;

/*6.修改表的字符集

alter table 表名 character set 字符集;

*/

7.向表中插入数据

向表中插入数据的四种方式.

CREATE TABLE product (– 商品表

– 商品的id (单行注释 格式:–空格 注释内容)

id INT PRIMARY KEY AUTO_INCREMENT,

– 商品的名字,设置不能为空

pname VARCHAR(50) NOT NULL,

– 商品的价格,用double

price DOUBLE

);

/*

格式1:

insert into 表名(列名1,列名2,列名3…) values(值1,值2,值3..);

*/

INSERT INTO product(id,pname,price) VALUES(1,”电脑”,4999);

//格式2: 不考虑主键

Insert into 表名(列名) values (值);

INSERT INTO product(pname,price) VALUES (“空调”,2999);

//格式3:所有值全给出

格式: insert into 表名 values(全值);

INSERT INTO product VALUES(5,”洗衣机”,800);

格式4:批量写入数据

Insert into 表名(列名1,列名2..) values(值1,值2..),(值1,值2..)…

INSERT INTO product(pname,price) VALUES (“彩电”,900),(“电磁炉”,300);

注意:列名和值,数据类型应该一一对应;

当表中其中的一条数据删除的话,再次向表中添加数据的时候id值会自动加1.

8.修改表中数据

是修改原有的数据

格式:update 表名 set 列1 = 值1,列2=值2… Where 条件

修改条件的写法.

Id=6 id<>6(不等于)

与或非

与 AND 或OR 非NOT

Id in(1,3,4,5) 包含

Id not in(1,3,4,5) 不包含

9.删除表中数据

格式:deleate from 表名 where 条件;

Drop table 表名; //删除整个数据表,删除之后表就不存在了,也不会重新给建表

Truncate table 表名;

两种删除的对比:

删除表中所有记录使用delete from 表名; 还是用truncate table 表名;

删除方式:delete 一条一条删除,不清空auto_increment记录数。

truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

命令行中中文乱码问题

原因:操作系统为gbk,mysql安装的时候装的是utf-8的,

解决方法: 命令行中输入set names gbk;(只能临时修改)

10.SQL查询语句(基本查询)

1.查询指定列的数据

格式:select 列名1,列名2 from 表名;

2.查询所有列的数据

格式:select *from 表名;

3.查询去掉重复记录(用Distinct 关键字)

格式: select distinct 列名 from 表名;

4.查询重新命名列(as关键字)

格式:select *from 表名 as 别名;(在查询之后会将结果中显示的暂时修改为别名)

Select 列名 as 别名 from 表名;

5.查询过程中可以直接进行数学运算

SELECT zname,money+1000 AS ‘sum’ FROM zhangwu;

11.SQL查询语句(条件查询)

Where进行条件过滤.

格式: select 字段 from 表名 where 条件;

While条件的分类如下:

0818b9ca8b590ca3270a3433284dd417.png

– 查询所有吃饭支出记录

SELECT *FROM zhangwu WHERE zname=’吃饭支出’;

– 查询出金额大于1000的信息

SELECT money FROM zhangwu WHERE money>1000;

– 查询出金额在2000-5000之间的账务信息

SELECT * FROM zhangwu WHERE money>=2000 AND money<=5000;

SELECT *FROM zhangwu WHERE money BETWEEN 2000 AND 5000;

– 查询出金额是1000或5000或3500的商品信息

SELECT *FROM zhangwu WHERE money=1000 OR money=5000 OR money=3500;

SELECT *FROM zhangwu WHERE money IN(1000,3500,5000);

– 查询出账务名称包含”支出”的账务信息。配合通配符

SELECT *FROM zhangwu WHERE zname LIKE “%支出%”;

– 查询出账务名称中有五个字的账务信息

SELECT *FROM zhangwu WHERE zname LIKE ‘_‘;

– 查询账务名不为空的

SELECT *FROM zhangwu WHERE zname IS NOT NULL;

SELECT *FROM zhangwu WHERE NOT(zname IS NULL);

12.查询对结果集进行排序

升序,降序,对指定列排序

格式:order by 列名 [asc] (升序排序,默认)desc

13.聚合函数

查询对一列值进行计算,然后返回一个单一的值

使用聚合函数查询计算

– count求和,对表中的数据的个数求和 count(列名)

格式1:COUNT(列名) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(列名) FROM 表名

格式2:COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM 表名

格式3:COUNT(DISTINCT 列名) 函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT 列名) FROM表名

– sum求和,对一列中数据进行求和计算 sum(列名)

– max min 对某列的数据获取最大值或最小值

格式:SELECT MAX(列名) FROM 表名

– avg 函数,计算一个列所有数据的平均数

格式:SELECT AVG(列名) FROM 表名

14.分组查询

查询所有的数据

吃饭指出 共计多少

工资收人 多少

服装指出 多少

股票收入 多少

打麻将指出 多少

格式:group by 被分组的列名

注意:必须跟随聚合函数

select查询的时候,被分组的列,要出现在select选择列的后面

必须使用sum聚合函数,金额求和

按照zname中的内容,重复的内容求和

重复内容分为一组,单独统计.

– 对zname内容进行分组查询求和,但是只要支出

SELECT SUM(money),zname FROM zhangwu GROUP BY zname;

结果集是在分组查询后,再次进行筛选,不能使用where,分组后再次过滤,应该使用关键字having

注意:Having和where的区别

Having是在分组后对数据进行过滤,Where是在分组前对数据进行过滤 Having后面可以使用分组函数(统计函数),wher后面不能使用分组函数 SELECT SUM(money) AS ‘getSum’,zname FROM zhangwu WHERE zname LIKE ‘%支出%’ GROUP BY zname HAVING getSum>600;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值