mysql --常用语句
1.different()
2.类型转换
3.分页
select * from users where deleted=0 limit i, j
jdbcTemplate.queryForList("SELECT * FROM users WHERE username like ? and deleted=0 limit ?, ? ",
new Object[]{"%" + keyWord + "%", skip, pageSize});
4.修改表结构
修改表使用alter table,修改表包括增加列定义、修改列定义、删除列、重命名列名等操作。增加列定义的语法:
alter table表名 add ( --可以有多个列定义,如果只有一个列定义,则可以省略小括号 Column_namel datatypr [default expr], … ); 例如: --为hehe数据表增加一个hehe_id字段,该字段的类型为int alter table hehe ADD hehe_id int; --为hehe数据表增加aaa,bbb字段,两个字段的类型为varchar(255) alter table hehe add ( aaa varchar(255) default ‘xxx’, bbb varchar(255) );
还可以增加主键约束、外键约束。
上面第二条SQL语句中增加了aaa字段,并为之指定了默认值‘xxx’,值的注意的是使用了单引号。
注意:如果数据表已经有了数据记录,那么要么给增加的字段添加默认值,要么设置成可以为空(默认情况下)。
5. 存储过程
DELIMITER // create procedure sp_article_page( in skip bigint, in pageSize bigint, in te_id bigint, in grade_id int, in subject_id bigint ) begin -- Set @gradeId = grade_id; -- 可能为null -- set @subjectId = subject_id; -- 可能为null set @sql = 'SELECT * FROM tb_article '; set @sql = concat(@sql, ' WHERE article_author = ', te_id); -- 教师 -- 大纲 if (grade_id is not null) or (subject_id is not null) then set @sql = concat(@sql, ' and outline_id in (select o_id from tb_outline where 1=1 '); if grade_id is not null then set @sql = concat(@sql, ' and grade_id=', grade_id); end if; if subject_id is not null then set @sql = concat(@sql, ' and subject_id=', subject_id); end if; set @sql = concat(@sql,')'); end if; SET @sql = CONCAT(@sql, ' limit ', skip, ',',pageSize); prepare stmp from @sql; execute stmp; end