MySQL常用操作代码模板:增删改查与事务处理

需积分: 9 1 下载量 55 浏览量 更新于2024-09-12 收藏 3KB TXT 举报
"MySQL数据库操作常用命令" 在MySQL数据库管理中,熟练掌握基本的增、删、改、查(CRUD)操作是至关重要的。以下是一些常用的SQL语句,对新手来说是很好的学习模板: 1. **重命名表**: `ALTER TABLE `<表名>` RENAME `<新表名>`;` 这个命令用于更改现有表的名字。 2. **添加列**: `ALTER TABLE `<表名>` ADD `<新列名>` <数据类型>;` 使用这个语句可以在已有表中增加新的列。 3. **修改列**: `ALTER TABLE `<表名>` CHANGE `<旧列名>` `<新列名>` <数据类型>;` 这个命令用于改变列的名称或数据类型。 4. **删除列**: `ALTER TABLE `<表名>` DROP COLUMN `<列名>;` 用于从表中移除不再需要的列。 5. **删除并重新设置主键**: `ALTER TABLE `<表名>` DROP PRIMARY KEY, ADD PRIMARY KEY (<主键列名>, <另一个主键列名>);` 当需要改变主键或主键由多个列组成时,可以使用这个命令。 6. **修改列属性**: `ALTER TABLE `<表名>` MODIFY `<列名>` <数据类型>;` 修改列的数据类型或其他属性,但不改变列名。 7. **添加主键约束**: `ALTER TABLE `<表名>` ADD CONSTRAINT PRIMARY KEY (<主键列名>);` 为没有主键的表添加主键约束。 8. **添加外键约束**: `ALTER TABLE `<表名>` ADD CONSTRAINT fk_<外键名> FOREIGN KEY (<外键列名>) REFERENCES `<参照表名>` (<参照列名>);` 定义一个外键,确保数据的参照完整性。 9. **插入数据**: `INSERT INTO `<表名>` (<列名1>, <列名2>, ...) VALUES (<值1>, <值2>, ...);` 向表中插入一条新的记录。 10. **批量插入数据**: `INSERT INTO `<表名>` (<列名1>, <列名2>, ...) VALUES (<值1>, <值2>, ...), (<值1>, <值2>, ...);` 可以一次性插入多条记录。 11. **更新数据**: `UPDATE `<表名>` SET <列名1>=<值1>, <列名2>=<值2>... WHERE <条件>;` 更新满足特定条件的行。 12. **删除数据**: `DELETE FROM `<表名>` WHERE <条件>;` 删除满足特定条件的行。`TRUNCATE TABLE `<表名>`;`则会清空整个表,但保留表结构。 13. **分组查询**: `SELECT <列1>, <列2>, ... FROM `<表名>` WHERE <条件> GROUP BY <分组列> HAVING <分组条件> ORDER BY <排序列> DESC LIMIT <限制行数>;` 这个查询可以用来按指定列进行分组,应用聚合函数(如AVG, COUNT, MAX, MIN, SUM)并进行排序和限制结果数量。 14. **字符串函数**: - `CONCAT(str1, str2, str3, ...)`:将多个字符串连接成一个。 - `INSERT(str, pos, len, newstr)`:在字符串的指定位置插入新的子串。 - `LOWER(str)`:将字符串转换为小写。 - `UPPER(str)`:将字符串转换为大写。 - `SUBSTRING(str, num, len)`:从字符串中提取指定长度的子串。 15. **日期和时间函数**: - `CURDATE()`:获取当前日期。 - `CURTIME()`:获取当前时间。 - `NOW()`:获取当前日期和时间。 - `WEEK(date)`:返回给定日期是一年中的第几周。 - `YEAR(date)`:从日期中提取年份。 - `HOUR(time)`:从时间中提取小时。 - `MINUTE(time)`:从时间中提取分钟。 - `DATEDIFF(date1, date2)`:计算两个日期之间的天数差。 - `ADDDATE(date, n)`:向日期添加指定的天数。 16. **数学函数**: - `CEIL(number)`:向上取整,例如2.3会被转换为3。 - `FLOOR(number)`:向下取整,例如2.3会被转换为2。 - `RAND()`:生成0到1之间的一个随机数。 17. **事务处理**: - `BEGIN`:开始一个新的事务。 - `START TRANSACTION`:同上。 - `COMMIT`:提交事务,保存所有更改。 - `ROLLBACK`:回滚事务,撤销所有更改。 - `SET AUTOCOMMIT = 1/0;`:设置自动提交模式,1为开启,0为关闭。 18. **创建视图**: `CREATE VIEW <视图名> AS (SELECT <列1>, <列2>, ... FROM <表名> WHERE <条件>);` 视图是从一个或多个表中创建的虚拟表,可以用来简化复杂的查询。 以上就是MySQL数据库中的一些基础操作,它们构成了数据库管理的基础。熟练掌握这些命令,将有助于你更高效地管理和操作数据库。