Mysql数据库修改表信息常用命令

本文详细介绍了SQL中常见的表结构操作,包括修改字段类型、添加和删除字段、添加索引及唯一索引,以及如何进行数据快照和查询结果集的写入。此外,还提供了基本查询、条件查询、函数使用、聚合函数等实用技巧,帮助读者掌握SQL的高级应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.修改字段类型   sms_coupon_product_relation(表名)  product_id(字段)  VARCHAR(50)(要修改的类型)
ALTER TABLE sms_coupon_product_relation MODIFY product_id VARCHAR(50);

2.表添加一列字段  如果要给students表新增一列birth
ALTER TABLE students ADD birth VARCHAR(50) NOT NULL COMMENT '商家';

3.修改列名和类型  要修改birth列,例如把列名改为birthday,类型改为BIGINT(20):
ALTER TABLE students CHANGE COLUMN birth birthday BIGINT(20) NOT NULL;

4.删除一列  要删除students表birthday列
ALTER TABLE students DROP COLUMN birthday;

5.添加索引
ALTER TABLE `sys_log` ADD INDEX view_time ( `view_time`) 

6.添加唯一索引
ALTER TABLE students ADD UNIQUE INDEX uni_name (name);

添加一个唯一约束而不创建唯一索引
ALTER TABLE students ADD CONSTRAINT uni_name UNIQUE (name);

7.快照 如果想要对一个表进行快照,即复制一份当前表的数据到一个新表,可以结合CREATE TABLE和SELECT:
CREATE TABLE students_of_class1 SELECT * FROM students WHERE class_id=1;

8.写入查询结果集
INSERT INTO statistics (class_id, average) SELECT class_id, AVG(score) FROM students GROUP BY class_id;

9.强制使用指定索引 如果我们知道如何选择索引,可以使用FORCE INDEX强制查询使用指定的索引
 SELECT * FROM students FORCE INDEX (idx_class_id) WHERE class_id = 1 ORDER BY id DESC;
 
现在有表students  score是列名
10.基本查询
SELECT * FROM students

11.条件查询
SELECT * FROM <表名> WHERE <条件表达式>
SELECT * FROM students WHERE score >= 80
SELECT * FROM <表名> WHERE <条件1> AND <条件2>
SELECT * FROM students WHERE score >= 80 AND gender = 'M';
SELECT * FROM <表名> WHERE <条件1> OR <条件2>
SELECT * FROM students WHERE score >= 80 OR gender = 'M';
SELECT * FROM <表名> WHERE NOT <条件> 等价于class_id <> 2,因此,NOT查询不是很常用
SELECT * FROM students WHERE NOT class_id = 2;

12.函数
floor函数返回小于等于该值的最大整数.
SELECT FLOOR(1.23), FLOOR(-1.23);  -> 1,-2 

CEILING函数向上取整  (使用像页数不够一页,也算一页)
SELECT CEILING(5.00005);   ->6

SUM函数    计算某一列的合计值,该列必须为数值类型
AVG函数    计算某一列的平均值,该列必须为数值类型
MAX函数    计算某一列的最大值,不限于数值类型 ,如果是字符类型,MAX()和MIN()会返回排序最后和排序最前的字符
MIN函数    计算某一列的最小值,不限于数值类型,如果是字符类型,MAX()和MIN()会返回排序最后和排序最前的字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值