mysql sql操作眠寿,復(fù)制表躬翁、復(fù)制數(shù)據(jù)、變量賦值盯拱、字段操作盒发、表結(jié)構(gòu)、INFORMATION_SCHEMA用法
復(fù)制操作
復(fù)制表
CREATE TABLE `新表名` like `舊表名`
CREATE TABLE `member` like `user`
CREATE TABLE 新表 SELECT * FROM 舊表,這種方式會遺漏主鍵狡逢、自增宁舰、索引等,不建議使用
CREATE TABLE `member` SELECT * FROM `user`
復(fù)制數(shù)據(jù)奢浑÷瑁可以全表、根據(jù)字段雀彼、根據(jù)select條件壤蚜。全表不需要寫字段即寡,字段不同需要AS。
表結(jié)構(gòu)相同
INSERT INTO `新表名` SELECT * FROM `舊表名`
表結(jié)構(gòu)不相同
INSERT INTO `新表名`(`字段名`) SELECT `字段名` FROM `舊表名`
使用select子條件
INSERT INTO `新表名` SELECT * FROM `舊表名` WHERE id<100
INSERT INTO `新表名`(`字段名`) SELECT `字段名` FROM `舊表名` WHERE id<100
復(fù)制表及數(shù)據(jù)
表結(jié)構(gòu)相同
INSERT INTO `新表名` SELECT * FROM `舊表名`
表結(jié)構(gòu)不相同
INSERT INTO `新表名`(`字段名`) SELECT `字段名` FROM `舊表名`
使用select子條件
INSERT INTO `新表名` SELECT * FROM `舊表名` WHERE id<100
INSERT INTO `新表名`(`字段名`) SELECT `字段名` FROM `舊表名` WHERE id<100
sql變量賦值
@VAR1='變量名/或sql函數(shù)'
SELECT @create_time:=new() as create_time FROM `user`
表字段操作
字段查詢
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE`TABLE_SCHEMA` = '庫名' AND `TABLE_NAME` = '表名'
DESC `表名`
DESCRIBE `表名`
SHOW COLUMNS FROM `表名`
新增字段
ALTER TABLE `表名` ADD COLUMN `字段名` 字段類型 是否為空 默認(rèn)值 備注 在哪個字段后面
ALTER TABLE `user` ADD COLUMN `name` varchar(30) NULL COMMENT '用戶名' AFTER `id`
修改字段
ALTER TABLE `表名` CHANGE `新字段` `舊字段` 字段類型 是否為空 默認(rèn)值 備注 `在哪個字段后面`;
ALTER TABLE `user` CHANGE `name` `username` varchar(30) NOT NULL DEFAULT NULL COMMENT "用戶名" AFTER `id`;
刪除字段
ALTER TABLE `表名` DROP `字段名`
ALTER TABLE `user` DROP `name`
查詢庫袜刷、表
查詢庫聪富、庫信息
1、查詢?nèi)? SHOW DATABASES
2著蟹、傳庫名查詢
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE`SCHEMA_NAME` = "庫名"
查詢表墩蔓、表信息
1、查詢?nèi)? SHOW TABLES
2草则、傳庫名表名查詢钢拧,不傳庫名查全庫
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE`TABLE_NAME` = '表名' AND `TABLE_SCHEMA` = '庫名'
SHOW TABLE STATUS LIKE '%表名%';