MYSQL 常用命令

本文介绍了如何在MySQL中添加新字段、指定位置、删除字段,以及设置主键、唯一索引、普通索引和全文索引。此外,还讲解了备份表、查看执行计划和SQL操作实例。
mysql添加字段
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];
例如:
    ALTER TABLE product_toback ADD memo1 varchar(10);
mysql 指定位置添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
AFTER 的作用是将新字段添加到某个已有字段后面

例如:
ALTER TABLE product_toback ADD memo2 varchar(10) after org_id;

mysql删除字段
ALTER TABLE product_toback drop COLUMN memo1;
添加PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
例:ALTER table yx_marketing_details add index(id);
添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE (`column` ) 
添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 
添加FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 
mysql 备份表
    create table product_toback_new like product_toback;  //创建表
    insert into product_toback_new select * from product_toback;// 查询插入数据
mysql 查看执行计划
  explain (查询sql)
  
    EXPLAIN
    select
    YEAR(STR_TO_DATE(t1.biz_date, '%Y-%m-%d %H')) AS years,
    MONTH(STR_TO_DATE(t1.biz_date, '%Y-%m-%d %H')) AS month,
    LEFT(t1.biz_date,10)AS bizDate,
    org.pi2,
    org.pi3,
    org.pi5,
    city.dict_name AS cityType,
    u.user_account AS userAccount
    
    from product_toback t1
    left join product_scan_code t2  on t1.product_toback_id = t2.product_toback_id
    INNER JOIN mdm_store s ON t1.store_id = s.store_id
    INNER JOIN base_user u ON t1.user_id = u.user_id
    LEFT JOIN base_org org ON t1.org_id = org.org_id
    LEFT JOIN base_org pi5 ON org.pi5 = pi5.org_id
    LEFT JOIN mdm_distributor dist ON dist.dist_code = s.ext_code
    LEFT JOIN base_org dorg ON dorg.ext_code = dist.dist_code AND dorg.org_type=1 AND dorg.state=1
    LEFT JOIN base_dict city ON s.nature_id = city.dict_id
    left join base_dict t5 on  product_scan_code like  concat(concat( t5.ext_code, t5.dict_code ),'%')
    left join base_dict t6 on t5.pi3 = t6.dict_id
    left join base_dict t7 on t6.pi2 = t7.dict_id
    where 1=1 
    and t1.biz_date >=  date_format(concat('2022-03','-01'),'%Y-%m-%d')
    and t1.biz_date  <= last_day(concat('2022-03','-01'))
select_type说明
SIMPLE简单查询
PRIMARY最外层查询
SUBQUERY映射为子查询
DERIVED子查询
UNION联合
UNION RESULT使用联合的结果
all < index < range < index_merge < ref_or_null < ref < eq_ref < system/const
以下是一些 MySQL 常用命令的分类介绍: ### 数据库连接管理 - 连接 MySQL 服务器:`mysql -h host -u username -p`,其中 `host` 是服务器地址,`username` 是用户名,输入该命令后会提示输入密码 [^1]。 ### 数据库操作命令 - 创建数据库:`CREATE DATABASE database_name;` - 删除数据库:`DROP DATABASE database_name;` - 使用数据库:`USE database_name;` ### 数据表操作命令 - 创建表: ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` - 删除表:`DROP TABLE table_name;` - 修改表结构,例如添加列:`ALTER TABLE table_name ADD column_name datatype;` ### 数据查询命令 - 基本查询: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` - 分组查询: ```sql SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING condition; ``` - 排序查询: ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC; ``` - 分页查询:`SELECT * FROM table_name LIMIT offset, count;` [^2] ### 数据修改命令 - 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` [^3] - 更新数据: ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` - 删除数据: ```sql DELETE FROM table_name WHERE condition; ``` ### 索引管理命令 - 创建索引:`CREATE INDEX index_name ON table_name (column1, column2, ...);` - 删除索引:`DROP INDEX index_name ON table_name;` ### 用户权限管理 - 创建用户:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授予权限:`GRANT privilege_type ON database_name.table_name TO 'username'@'host';` - 撤销权限:`REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';` ### 备份与恢复 - 备份数据库:`mysqldump -u username -p database_name > backup_file.sql` - 恢复数据库:`mysql -u username -p database_name < backup_file.sql` ### 性能优化命令 - 分析表:`ANALYZE TABLE table_name;` - 优化表:`OPTIMIZE TABLE table_name;` ### 系统信息查看 - 查看 MySQL 版本:`SELECT VERSION();` - 查看当前使用的数据库:`SELECT DATABASE();`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值