MySQL常用进阶命令

一、linux服务器导出数据库

[用户名] 是你连接MySQL数据库的用户名,[数据库名] 是你想要导出的数据库名,[导出文件名]是你想要保存导出文件的文件名,.sql是导出文件的扩展名。执行命令后,会提示输入密码,输入密码后即可开始导出。导出的文件保存在当前目录下。

mysqldump -u [用户名] -p --opt [数据库名] > [导出文件名].sql
注意,如果数据库很大,导出时间可能较长,请耐心等待。

二、执行SQL脚本

source 路径文件

三、给表添加字段

ALTER TABLE [表名] ADD COLUMN [新字段名] [字段类型] DEFAULT [默认值] COMMENT '备注';

四、修改表字段

其中,表名是你想要修改字段的表的名称,字段名是你想要修改的字段的名称,字段类型是你想要将字段修改为的新类型。

ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型;
注意,在修改字段类型时需要注意数据是否兼容,例如将数字类型修改为字符类型时可能会丢失精度。同时,如果你已经在表中存储了数据,修改字段类型可能会导致数据丢失或出现错误,因此请务必谨慎操作。

五、删除外键约束

alter table `表名` drop foreign key 外键名字;

六、添加外键约束

alter table 从表 add foreign key(外键字段) references 主表(主键字段)

七、删除表字段

表名是要删除字段的表的名称,字段名是要删除的字段的名称。

ALTER TABLE 表名 DROP COLUMN 字段名;
注意,删除一个字段将会永久删除该字段及其对应的数据。因此,在执行该命令之前,请确认你的操作,并且确保已经备份你的数据。

八、给数据库字段新增一个十的倍数随机数

UPDATE goods_spu SET sale_num=sale_num+CEILING(RAND()*100)*10;

RAND()是取(0-1)随机小数,CEILING(x)是向上取整,取整之后100是0-100的随机数,再10是0-1000的随机数(也可直接*1000),这个操作可以用于模拟商品的销售情况,增加销售量。

九、查询近30天的数据

SELECT
	SUM( payment_price ) 30天总支付金额,
	COUNT( 1 )  30天订单数量
FROM
	order_info 
WHERE
DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(create_time);

十、计算两个日期之间的天数/月/年

SELECT SYSDATE(), TIMESTAMPDIFF(DAY,'2020-09-21 10:24:31',SYSDATE())
//结果是:2023-01-05 17:44:07	836

参数DAY可替换的值:

SECOND 秒 SECONDS

MINUTE 分钟 MINUTES

HOUR 时间 HOURS

DAY 天 DAYS

MONTH 月 MONTHS

YEAR 年 YEARS

十一、 计算当天、七天总收入

SELECT SUM(nowDayPrice) AS 当天收入,SUM(sevenDayPrice) AS 七天收入 FROM (
	SELECT 
	CASE  WHEN  TIMESTAMPDIFF(DAY,a.create_time,SYSDATE())=0 THEN a.payment_price ELSE 0 END 'nowDayPrice',--当天的数据
	CASE  WHEN  TIMESTAMPDIFF(DAY,a.create_time,SYSDATE())<7 THEN payment_price ELSE 0 END 'sevenDayPrice',
	a.create_time,
	TIMESTAMPDIFF(DAY,a.create_time,SYSDATE())
FROM 
(SELECT create_time,SUM(payment_price) AS payment_price  FROM order_info group by create_time) a
) b

十二、大小转转换

小写字母转化大写字母

SELECT LOWER("ADMIN');
//结果admin

大写字母转化小写字母

SELECT UCASE("admin');
//结果ADMIN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XuDream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值