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 
View Code

 

posted @ 2018-09-11 19:50  fight139  阅读(144)  评论(0编辑  收藏  举报