Mysql常用SQL总结(持续更新)
目录
查询
Mysql查询表结构
DESCRIBE table
desc table
SHOW CREATE TABLE demo001
查询表所有字段
SELECT COLUMN_NAME as 列名, COLUMN_TYPE as 数据类型, IS_NULLABLE as 是否为空, COLUMN_DEFAULT as 默认值, COLUMN_COMMENT as 字段注释, CHARACTER_MAXIMUM_LENGTH as 长度FROMINFORMATION_SCHEMA.COLUMNSwhere table_schema ='demo'AND table_name = 'demo001'-- 这个指的是数据库名称-- 这个指的是表名称
新增
ALTER TABLE `table_name` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT 'description';
其中, table_name 是表名, new_column_name 是新添加的字段名, data_type 是新字段的数据类型, default_value 是新字段的默认值, description 是新字段的描述信息。
新增一个字段
ALTER TABLE demoADD COLUMN col234 varchar(255) DEFAULT NULL COMMENT '举个例子';
新增多个字段
ALTER TABLE demoADD COLUMN age INT DEFAULT 0 COMMENT '年龄',ADD COLUMN sex VARCHAR(10) DEFAULT '' COMMENT '性别';
使用上面的语句可以一次性添加多个字段。注意:在添加多个字段时,每个 ADD COLUMN 语句都需要以逗号结尾,最后一个 ADD COLUMN 语句后不需要加逗号。
更新
修改字段长度且带备注
ALTER TABLE MODIFY COLUMN age INT(3) COMMENT '修改age长度为3';
修改多个字段长度且带备注
可以在ALTER TABLE语句中同时修改多个字段的长度并带有备注,具体步骤如下:
连接到mysql服务器并选择要修改的数据库
mysql -u -puse ;
使用ALTER TABLE语句来修改表中的多个字段长度并带有备注
假设我们要将表中的name字段的长度从50修改为100,将age字段的长度从2修改为3,并且为每个字段添加备注:
ALTER TABLE MODIFY COLUMN name VARCHAR(100) COMMENT '修改name长度为100', MODIFY COLUMN age INT(3) COMMENT '修改age长度为3';
这个命令将修改表中name字段的长度为100,age字段的长度为3,并且为每个字段添加了相应的备注。
注意,这个命令只能修改字段的长度,并带有备注,不能修改字段的类型和约束。
另外,如果要修改的表中已经有数据,而修改会导致数据被截断的话,需要注意保存数据,以免数据丢失。
mysql 添加多个索引
ALTER TABLE demoADD INDEX idx_aa(aa),ADD INDEX idx_bb(bb),ADD INDEX idx_cc(cc);
注意事项
- 确保在运行脚本之前备份数据库,以防止意外数据丢失。
- 确保脚本中的字段信息正确无误,否则可能会造成数据错误或数据丢失。
- 脚本运行时间可能会比较长,具体时间取决于需要添加字段的表的数量和表的大小。
其他
常用MySQL命令总结: 创建数据库 CREATE DATABASE database_name; 删除数据库 DROP DATABASE database_name; 使用数据库 USE database_name; 显示数据库列表 SHOW DATABASES; 创建表 CREATE TABLE table_name (column1 datatype, column2 datatype, …); 删除表 DROP TABLE table_name; 显示表结构 DESCRIBE table_name; 插入数据 INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …); 更新数据 UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition; 删除数据 DELETE FROM table_name WHERE condition; 查询数据 SELECT column1, column2, … FROM table_name WHERE condition; 排序数据 SELECT column1, column2, … FROM table_name ORDER BY column; 分组数据 SELECT column1, column2, … FROM table_name GROUP BY column; 连接表 SELECT * FROM table1 JOIN table2 ON table1.column = table2.column; 为表添加索引 ALTER TABLE table_name ADD INDEX index_name(column); 为表删除索引 ALTER TABLE table_name DROP INDEX index_name;
有用请点赞,养成良好习惯!
疑问、交流、鼓励请留言!
来源地址:https://blog.csdn.net/libusi001/article/details/131794932
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341