目录
查询
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 长度
FROM
INFORMATION_SCHEMA.COLUMNS
where 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 demo
ADD COLUMN col234 varchar(255) DEFAULT NULL COMMENT '举个例子';
新增多个字段
ALTER TABLE demo
ADD COLUMN age INT DEFAULT 0 COMMENT '年龄',
ADD COLUMN sex VARCHAR(10) DEFAULT '' COMMENT '性别';
使用上面的语句可以一次性添加多个字段。注意:在添加多个字段时,每个 ADD COLUMN 语句都需要以逗号结尾,最后一个 ADD COLUMN 语句后不需要加逗号。
更新
修改字段长度且带备注
ALTER TABLE <table_name> MODIFY COLUMN age INT(3) COMMENT '修改age长度为3';
修改多个字段长度且带备注
可以在ALTER TABLE语句中同时修改多个字段的长度并带有备注,具体步骤如下:
连接到mysql服务器并选择要修改的数据库
mysql -u <username> -p
use <database_name>;
使用ALTER TABLE语句来修改表中的多个字段长度并带有备注
假设我们要将表中的name字段的长度从50修改为100,将age字段的长度从2修改为3,并且为每个字段添加备注:
ALTER TABLE <table_name>
MODIFY COLUMN name VARCHAR(100) COMMENT '修改name长度为100',
MODIFY COLUMN age INT(3) COMMENT '修改age长度为3';
这个命令将修改表中name字段的长度为100,age字段的长度为3,并且为每个字段添加了相应的备注。
注意,这个命令只能修改字段的长度,并带有备注,不能修改字段的类型和约束。
另外,如果要修改的表中已经有数据,而修改会导致数据被截断的话,需要注意保存数据,以免数据丢失。
mysql 添加多个索引
ALTER TABLE demo
ADD 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;
有用请点赞,养成良好习惯!
疑问、交流、鼓励请留言!