**創建索引**
```
create index indexname on tablename(column_name)
```
**添加索引**
```
ALTER table tableName ADD INDEX indexName(columnName)
SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'caishuiai'
AND column_name = '444e3e7296717dae0254add52f8bdbb9';
```
**儲存過程**
```
DELIMITER //
CREATE PROCEDURE delete_data_in_tables()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE tableName VARCHAR(255);
DECLARE columnExists INT DEFAULT 0;
-- 游標用于遍歷表名
DECLARE cur CURSOR FOR
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'ganfushenghuo';
-- 當游標沒有遍歷完所有表時,繼續循環
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打開游標
OPEN cur;
-- 循環遍歷表并執行刪除操作
read_loop: LOOP
FETCH cur INTO tableName;
IF done THEN
LEAVE read_loop;
END IF;
-- 檢查列是否存在
SELECT COUNT(*)
INTO columnExists
FROM information_schema.columns
WHERE table_schema = 'ganfushenghuo'
AND table_name = tableName
AND column_name = 'uniacid';
IF columnExists > 0 THEN
-- 構建刪除語句并執行
SET @sql = CONCAT('DELETE FROM ganfushenghuo.', tableName, ' WHERE uniacid = 601;');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END LOOP;
-- 關閉游標
CLOSE cur;
END //
DELIMITER ;
```
你可以使用以下 SQL 查詢語句來列出 MySQL 數據庫中的所有表,并按數據大小排序:
~~~
sql復制代碼SELECT * FROM information_schema.tables ORDER BY data_length DESC;
~~~
這將返回一個結果集,其中包含所有 MySQL 數據庫中的表名、類型、表大小等信息。 `data_length` 列用于獲取每個表的字節大小。你可以通過將查詢結果集傳遞給一個可視化工具,例如 Microsoft Excel,以進一步分析和排序。