我怕是个废物了,sql永远记不住。写个文档记下来吧。以后直接copy。
一、insert,插入数据语句:
1.这种是不用字段名的,一行所有字段插入,所以可以省略字段名:
INSERT xxx_table VALUES (value1, value2,...valueN);
2.这种是有字段名的:
INSERT INTO xxx_table (field1, field2, ...fieldN) VALUES (value1, value2,...valueN);
字段名确定好以后,不需要按顺序,只需要字段和插入数据一一对应就可以。
二、update,修改数据语句:
UPDATE xxx_table SET field1 = 'xxxx', field2= 'xxxxxx', field3 = 'xxx' WHERE xx_id = '110';
三、delete,删除数据语句:
DELETE FROM xxx_table WHERE id = 'xxx';
四、 drop,删除数据表语句:
DROP TABLE xxx_table; 删除表哦,此sql很少用,但每次用都很爽,无论结果是好的还是坏的,哈哈哈。
五、 SHOW PROCESSLIST 语句:这个命令真是超级好用。
SHOW PROCESSLIST;
这个指令是用来查看哪些线程正在运行,如果想查询所有线程,则需要有root权限。否则,只能查看自己当前账户的线程。
如果你没有使用FULL关键字,你只能查看每个记录中Info字段里面的前100个字符。
这个命令用来查询应用系统连接数据库排错的时候,非常有用。
参数 | 解释 |
---|
Id | id 标识,要kill一个语句的时候很有用 |
User | 当前连接的用户 |
Host | 连接的ip和端口号 |
db | 数据库名称 |
Command | 连接状态,一般是休眠(Sleep),查询(Query) |
Time | 连接的时间,单位是秒 |
State | 当前sql执行的状态(这个状态类型非常多,详情见官网,哈哈) |
Info | 连接正在执行的sql |
六、 SHOW VARIABLES 语句。
SHOW VARIABLES;
这个语句是查看系统变量及其值,调试和优化的时候使用。参数很多,详见官网。
七、 给表和字段添加注释。
ALTER TABLE table_name COMMENT '表的注释';
ALTER TABLE table_name MODIFY `column_name` VARCHAR(255)/INT/DATETIME DEFAULT NULL COMMENT '字段的注释' .
注意字段的属性要写对,写全,这个会覆盖原有的字段属性。这个貌似没人提到,我咋觉得这么奇怪呢。
ALTER TABLE `table_name` ADD COLUMN `column_name` VARCHAR(255)/INT/DATETIME DEFAULT NULL COMMENT '字段注释';
八、 临时表。
CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name;
DROP TABLE tmp_table ;
九、增加索引。
ALTER TABLE `table_name` ADD INDEX index_column_name(column_name);
十、建表语句(包括建立索引)。
DROP TABLE IF EXISTS `t_base`;
CREATE TABLE `t_base`
(
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(255) COMMENT '名称',
`status` INT(1) COMMENT '状态:(0-关闭,1-开启)',
`label` VARCHAR(255) COMMENT '标签',
`type` VARCHAR(255) COMMENT '类型',
`nums` INT(11) DEFAULT 0 COMMENT '数量',
`price` decimal(10,2) DEFAULT 0 COMMENT '价格',
`weight` INT(11) COMMENT '权重',
`pwd` VARCHAR(255) COMMENT '密码',
`phone` VARCHAR(255) COMMENT '手机号',
`s_time` DATETIME COMMENT '开始时间',
`e_time` DATETIME COMMENT '结束时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`modify_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改者',
`create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`last_modify_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX index_phone (phone) USING BTREE COMMENT '手机号索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '举例表' ROW_FORMAT = Dynamic;