首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 开发中常用 MySQL 操作语句速查手册

     編輯:PHP 相關知識

数据库与表结构查看

操作SQL 语句
显示所有数据库SHOW DATABASES;
切换数据库USE database_name;
显示当前库所有表SHOW TABLES;
显示表结构DESC table_name; 或 SHOW COLUMNS FROM table_name;
显示建表语句SHOW CREATE TABLE table_name;

表结构修改 (ALTER TABLE)

操作SQL 语句
重命名表ALTER TABLE old_name RENAME new_name;
添加列ALTER TABLE table_name ADD COLUMN col_name col_definition [FIRST|AFTER col];
删除列ALTER TABLE table_name DROP COLUMN col_name;
修改列定义ALTER TABLE table_name CHANGE old_col new_col new_definition;
修改列类型/属性ALTER TABLE table_name MODIFY col_name new_definition;
添加普通索引ALTER TABLE table_name ADD INDEX idx_name (col1, col2);
添加唯一索引ALTER TABLE table_name ADD UNIQUE INDEX uk_name (col);
添加主键ALTER TABLE table_name ADD PRIMARY KEY (col);
删除索引ALTER TABLE table_name DROP INDEX idx_name;

数据增删改查 (DML)

操作SQL 语句
插入单行INSERT INTO table_name (col1, col2) VALUES ('val1', 123);
插入多行INSERT INTO table_name (col1, col2) VALUES ('a',1), ('b',2), ('c',3);
更新数据UPDATE table_name SET col1='new' WHERE col2=100;
删除数据DELETE FROM table_name WHERE condition;
清空表TRUNCATE TABLE table_name; (重置自增 ID,速度快)

数据库/表删除 (DDL)

操作SQL 语句
删除表DROP TABLE table_name;
删除数据库DROP DATABASE database_name;

创建表最佳实践模板

CREATE TABLE `users` (
    `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `username` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '用户名',
    `email` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '邮箱',
    `password_hash` CHAR(60) NOT NULL DEFAULT '' COMMENT 'bcrypt哈希',
    `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_username` (`username`),
    UNIQUE KEY `uk_email` (`email`),
    KEY `idx_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';

关键点

  • ENGINE=InnoDB:支持事务、行锁、外键,生产首选。
  • CHARSET=utf8mb4:完整支持 Emoji 等 4 字节字符。
  • COLLATE=utf8mb4_unicode_ci:Unicode 排序规则,准确性高。
  • 显式 DEFAULT:避免 NULL 导致的索引失效与逻辑陷阱。
  • 注释:每列、每表加 COMMENT,利于维护。

PHP 执行建议

  • 使用 PDO 或 mysqli 预处理语句(Prepared Statements),防 SQL 注入。
  • 批量插入用事务包裹,或单条大 SQL (INSERT ... VALUES (),(),())。
  • SELECT 避免 *,显式列出所需列。
  • 大表 ALTER TABLE 会锁表,生产环境用 pt-online-schema-change 或 gh-ost 在线变更。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved