DDL 操作数据库
查询show databsass; //查看数据库创建create database 数据库名; //创建数据库create database if not exists 数据库名称 //创建数据库(判断,如果不存在则创建)删除drop 数据库名 //删除数据库:drop database if exists 数据库名 //删除数据库(判断,如果存在则删除)使用selest database(); //查看当前数据库:use 数据库名; //切换数据库
操作数据表
查询表show tables; //查询数据库下所有表:desc 表名; //查询表结构创建表creat table 表名 (字段名1 数据类型1,…字段名n 数据类型n);删除表drop table 表名; //删除表:drop table if exists 表名 //删除表时判断表是否存在;修改表alter table 表名 rename to 新表名; //修改表名alter table 表名 add 列名 数据类型; //添加一列alter table 表名 modify 列名 新数据类型; //修改数据类型alter table 表名 change 旧列名 新列名 新数据类型; //修改列名和数据类型alter table 表名 drop 列名; 删除列数据类型
DML数据的增删改
添加数据inser tinto 表名(列名1,列名2,…) values(值1,值2,…); 给指定列添加数据inser tinto 表名 values(值1,值2,…); 给全部列添加数据修改表数据update 表名 set 列名1=值1,列名2=值2,… where 条件;注意:修改语句中如果不加条件,则将所有数据都修改!删除数据delete from 表名 where 条件 ;truncate删除表记录 属于DDLtruncate table 表名;truncate和delete的区别:1) delete是将表中的数据一条一条删除2) truncate是将整个表摧毁,重新创建一个新的表,新的表结构和原来表结构一模一样
DQL数据的查询
对表中数据的查寻基础查询select 字段列表 from 表名; //查询选定字段列表select * from 表明; //查询所有列表select distinct 字段名,字段名,.. from 表名; //去除重复记录select 字段名 as 别名, 字段名2 as 别名... from 表名 AS 表别名; as可以省略条件查询语法:select * from 表名 whereE 条件列表;俩个条件同时满足 用and连接select * from 表名 where age>35 and sex='男';两个条件其中一个满足 用or连接select * from 表名 where age>35 or sex='男';多个条件满足一个 用inselect * from 表名 where id in (1,3,5);除了(多个条件满足) 用not inselect * from 表名 where id not in(1,2,3);范围查询查询成绩english大于等于75,且小于等于90的学生select * from 表名 where english>=75 and english<=90;select * from 表名 where english between 75 and 90;模糊查询select * from 表名 where name like '马%'; 姓马的名字select * from 表名 where name like '%马%'; 名字中包含select * from 表名 where name like '马__'; 姓马并且 三个字排序查询select 字段列表 from表名 order by 排序字段名1 [排序方式1],…;排序方式 ASC升序 默认 DESC 降序select * from 表名 order by age ;select * from 表名 order by age , math DESC;查询成绩english前5的学生select * from 表名 order by english DESC LIMIT 5分组查询select * from 表名 group by 字段名;聚合函数select 聚合函数名(列名) from 表;通常使用:COUNT(列名) //统计数量sum(列名) //求和max(列名) //最大值min(列名) //最小值avg(列名) //平均值注意 null值不参与聚合运算select * from 表名 WHERE 分组前条件限定 group by 分组字段名 having 分组后条件过滤;注意分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义group by后边的字段值相同才能划分为一组;where 和 having 区别执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。执行顺序:from 表名 where > group by > 聚合函数 > having分页查询select 字段列表 from 表名 limit 起始索引 , 查询条目数;计算公式起始索引 = (当前页码-1) * 每页显示的条数
时间的格式
delete from 表名 DATE_FORMAT(时间字段名,'%Y%m%d') = DATE_FORMAT('20220114','%Y%m%d')时间的格式
数据库类型转换
CHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC java.math.BigDecimalDECIMAL java.math.BigDecimalBIT booleanTINYINT byteSMALLINT shortINTEGER intBIGINT longREAL floatFLOAT doubleDOUBLE doubleBINARY byte[]VARBINARY byte[]LONGVARBINARY byte[]DATE java.sql.DateTIME java.sql.TimeTIMESTAMP java.sql.Timestamp
datetime
