【数据分析面试】48.如何在SQL中高效地创建和管理数据库表(20个SQL操作问题)
创建表:
CREATE TABLE IF NOT EXISTS my_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
修改表:
ALTER TABLE my_table ADD COLUMN age INT;
删除表:
DROP TABLE IF EXISTS my_table;
重命名表:
RENAME TABLE old_table_name TO new_table_name;
复制表结构和数据:
CREATE TABLE new_table AS SELECT * FROM old_table;
只复制表结构:
CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1=0;
清空表数据:
TRUNCATE TABLE my_table;
添加索引:
CREATE INDEX idx_name ON my_table(name);
删除索引:
DROP INDEX idx_name ON my_table;
查看表结构:
DESCRIBE my_table;
或者
SHOW COLUMNS FROM my_table;
查看所有表:
SHOW TABLES;
查看表的创建语句:
SHOW CREATE TABLE my_table;
锁定表:
LOCK TABLES my_table READ;
解锁表:
UNLOCK TABLES;
导入数据:
LOAD DATA INFILE 'path_to_file.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
导出数据:
SELECT * INTO OUTFILE 'path_to_output_file.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM my_table;
评论已关闭