“问渠那得清如许,为有源头活水来”
登录MySQL命令
//mysql -u 用户名 -p 密码 -A
mysql -uroot -p123456 -A
建表
//建立新表
CREATE TABLE `user` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NULL DEFAULT '' COMMENT '姓名',
`age` int(0) NULL COMMENT '年龄',
PRIMARY KEY (`id`),
INDEX ```name```(`name`)
) COMMENT = '用户信息表';
//根据已有的表建立相同结构的新表
create table userNew like user;
//根据已有的表建立相同结构的新表并复制已有的表数据
create table userNew select * from user;
查询建表和存储过程的语句
//查询建表语句
show create table user;
//查询存储过程
show create procedure userProcedure;
修改表
//新增字段
ALTER TABLE `user` ADD COLUMN `sex` varchar(5) NULL DEFAULT '' COMMENT '性别' AFTER `age`;
//修改字段
ALTER TABLE `user` MODIFY COLUMN `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '姓名姓名' AFTER `id`;
//添加索引(下面有详细说明)
ALTER TABLE `user` ADD INDEX ```sex```(`sex`);
//删除索引
ALTER TABLE `user` DROP INDEX ```sex```;
导出表结构和数据
//mysqldump -h localhost -u 用户名 -p 密码 表名 > 导出的文件名
mysqldump -h localhost -uroot -p123456 tablename>/appdata/user/tablename.sql;
//根据查询条件导出数据
mysqldump -u root -p 123456 database --where="month='201808'" tablename>/tmp/tablename.SQL;
处理进程
//查询状态为sleep的进程,并拼接成kill + id 格式
select concat('KILL ',id,';') from information_schema.processlist where Command = 'sleep';
添加索引
//1.添加主键索引
ALTER TABLE `table_name` ADD PRIMARY KEY (`column`)
//2.添加唯一索引
ALTER TABLE common_user_info ADD UNIQUE (`loginname`) ;
//3.添加全文索引
ALTER TABLE `table_name` ADD FULLTEXT (`column`)
//4.添加普通索引
ALTER TABLE `table_name` ADD INDEX index_name (`column` )
//5.添加组合索引
ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`, `column3`)
查询MySQL所有表的大小,并排序
select TABLE_NAME ,TABLE_ROWS,DATA_LENGTH/1024/1024 from information_schema.`TABLES` where TABLE_SCHEMA='database' ORDER BY DATA_LENGTH desc limit 100;
查询库中表的个数
SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='dbname';