Mysql常识

mysql的安装:https://baijiahao.baidu.com/s?id=1629661608981614271&wfr=spider&for=pc

1.sql的增删改查

insert into 表名 values (#{值一},#{值二}...)
insert into 表名(1,2,...)values (?,?)

delete  from   表名  where 列名=#{}

 Update  表名  set  列名 =#{} ,列名=#{}…where 列名=#{};
 Update  表名  set  列名 =,列名=//修改所有

select * from 表

删除表(主键递增)

DELETE FROM table1
TRUNCATE TABLE table1

MySQL删除记录,对自增主键ID进行重新排序(id还是排在第一个字段)

#删除id列
alter table 表 drop id;
#新增id列,设为主键,并自增
ALTER TABLE 表 ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST; 

自增id删除数据后,在写入数据时则会跳过被删除的id

ALTER TABLE 表名 AUTO_INCREMENT = 1

自增id

<insert id="insertUserInfo" parameterType="com.example.highcitedselect3.entity.UserInfo" useGeneratedKeys="true"
            keyProperty="id">
        insert into userinfo(<include refid="zd"/>)
        values
        (#{id},#{paperTitle},#{journalTitle},#{doi},#{chubanyear},#{cishu},#{email},#{selecttime},#{choosedomain})
</insert>

批量删

    <delete id="huiYiDeletList" parameterType="int[]">
        <!-- delete from emp where empno in(7789,7790) -->
        <!-- forEach : 用来循环 collection : 用来指定循环的数据的类型 可以填的值有:array,list,map item
            : 循环中为每个循环的数据指定一个别名 index : 循环中循环的下标 open : 开始 close : 结束 separator : 数组中元素之间的分隔符 -->
        delete from huiyi where id in
        <foreach collection="array" item="id" index="no" open="("
                 separator="," close=")">
            #{id}
        </foreach>
    </delete>

批量增加
(List)
数据库是自增id,这里就不要写id了

<insert id="save" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List">
        insert  into user(
		//id 写上会报错
        user_name,
        phone,
        password,
        salt
        )
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (
            // #{id} 写上会报错
            #{item.username},
            #{item.phone},
            #{item.password},
            #{item.salt}
            )
        </foreach>
    </insert>

(Map)

<!--批量新增-->
    <insert id="insertBatch" parameterType="java.util.Map">
        insert into video_ed (video_id,user_id)
        values
        <foreach collection="map" item="value" index="key" separator=",">
            (#{key}, #{value})
        </foreach>
    </insert>

2.内置函数

sysdate :展示系统当前时间

select sysdate from dual;

to_char(日期,‘日期格式’):将(系统的当前)时间 按照指定格式要求展示

select to_char(sysdate,'YYYY-MM-dd HH:MI:SS') from dual;

to_date(‘字符串’,'日期格式) 数据插入

select to_date('2019-01-01','YYYY-MM-dd') from dual

3.组函数(聚合函数)

针对一组数据进行操作的函数.
   Min(列名)       最小 
   Max(列名)       最大
   Avg(列名)       平均
   Sum(列名)       和
   Count(列名)     条数            不会去统计内容为null的.         支持 *

4.Having关键字

分组(group by)之后的条件判断,如果你的条件判断涉及到组函数使用,则使用having.

5.SQL 关键字顺序:

Select  …* …  from ... 表 … where ... group by ... having ... order by

注意:
1.非group by 当中的列名 不可以书写在Select关键字之后.
2.组函数 可以直接书写在Select之后.
3.内置函数也可以书写

6.模糊查询:

select  *  from sci where 字段like concat('%',#{前台输入的内容},'%') 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值