DDL 操作数据库

  1. 查询
  2. show databsass; //查看数据库
  3. 创建
  4. create database 数据库名; //创建数据库
  5. create database if not exists 数据库名称 //创建数据库(判断,如果不存在则创建)
  6. 删除
  7. drop 数据库名 //删除数据库:
  8. drop database if exists 数据库名 //删除数据库(判断,如果存在则删除)
  9. 使用
  10. selest database(); //查看当前数据库:
  11. use 数据库名; //切换数据库

操作数据表

  1. 查询表
  2. show tables //查询数据库下所有表:
  3. desc 表名; //查询表结构
  4. 创建表
  5. creat table 表名 (
  6. 字段名1 数据类型1,
  7. 字段名n 数据类型n
  8. );
  9. 删除表
  10. drop table 表名; //删除表:
  11. drop table if exists 表名 //删除表时判断表是否存在;
  12. 修改表
  13. alter table 表名 rename to 新表名; //修改表名
  14. alter table 表名 add 列名 数据类型; //添加一列
  15. alter table 表名 modify 列名 新数据类型; //修改数据类型
  16. alter table 表名 change 旧列名 新列名 新数据类型; //修改列名和数据类型
  17. alter table 表名 drop 列名; 删除列
  18. 数据类型

DML数据的增删改

  1. 添加数据
  2. inser tinto 表名(列名1,列名2,…) values(值1,值2,…); 给指定列添加数据
  3. inser tinto 表名 values(值1,值2,…); 给全部列添加数据
  4. 修改表数据
  5. update 表名 set 列名1=值1,列名2=值2,… where 条件;
  6. 注意:修改语句中如果不加条件,则将所有数据都修改!
  7. 删除数据
  8. delete from 表名 where 条件 ;
  9. truncate删除表记录 属于DDL
  10. truncate table 表名;
  11. truncatedelete的区别:
  12. 1) delete是将表中的数据一条一条删除
  13. 2) truncate是将整个表摧毁,重新创建一个新的表,新的表结构和原来表结构一模一样

DQL数据的查询

  1. 对表中数据的查寻
  2. 基础查询
  3. select 字段列表 from 表名; //查询选定字段列表
  4. select * from 表明; //查询所有列表
  5. select distinct 字段名,字段名,.. from 表名; //去除重复记录
  6. select 字段名 as 别名, 字段名2 as 别名... from 表名 AS 表别名; as可以省略
  7. 条件查询
  8. 语法:select * from 表名 whereE 条件列表;
  9. 俩个条件同时满足 and连接
  10. select * from 表名 where age>35 and sex='男';
  11. 两个条件其中一个满足 or连接
  12. select * from 表名 where age>35 or sex='男';
  13. 多个条件满足一个 in
  14. select * from 表名 where id in (1,3,5);
  15. 除了(多个条件满足) not in
  16. select * from 表名 where id not in(1,2,3);
  17. 范围查询
  18. 查询成绩english大于等于75,且小于等于90的学生
  19. select * from 表名 where english>=75 and english<=90;
  20. select * from 表名 where english between 75 and 90;
  21. 模糊查询
  22. select * from 表名 where name like '马%'; 姓马的名字
  23. select * from 表名 where name like '%马%'; 名字中包含
  24. select * from 表名 where name like '马__'; 姓马并且 三个字
  25. 排序查询
  26. select 字段列表 from表名 order by 排序字段名1 [排序方式1],…;
  27. 排序方式 ASC升序 默认 DESC 降序
  28. select * from 表名 order by age ;
  29. select * from 表名 order by age , math DESC;
  30. 查询成绩english5的学生
  31. select * from 表名 order by english DESC LIMIT 5
  32. 分组查询
  33. select * from 表名 group by 字段名;
  34. 聚合函数
  35. select 聚合函数名(列名) from 表;
  36. 通常使用:
  37. COUNT(列名) //统计数量
  38. sum(列名) //求和
  39. max(列名) //最大值
  40. min(列名) //最小值
  41. avg(列名) //平均值
  42. 注意 null值不参与聚合运算
  43. select * from 表名 WHERE 分组前条件限定 group by 分组字段名 having 分组后条件过滤;
  44. 注意
  45. 分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
  46. group by后边的字段值相同才能划分为一组;
  47. where having 区别
  48. 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
  49. 可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。
  50. 执行顺序:
  51. from 表名 where > group by > 聚合函数 > having
  52. 分页查询
  53. select 字段列表 from 表名 limit 起始索引 , 查询条目数;
  54. 计算公式
  55. 起始索引 = (当前页码-1) * 每页显示的条数

时间的格式

  1. delete from 表名 DATE_FORMAT(时间字段名,'%Y%m%d') = DATE_FORMAT('20220114','%Y%m%d')
  2. 时间的格式

数据库类型转换

  1. CHAR String
  2. VARCHAR String
  3. LONGVARCHAR String
  4. NUMERIC java.math.BigDecimal
  5. DECIMAL java.math.BigDecimal
  6. BIT boolean
  7. TINYINT byte
  8. SMALLINT short
  9. INTEGER int
  10. BIGINT long
  11. REAL float
  12. FLOAT double
  13. DOUBLE double
  14. BINARY byte[]
  15. VARBINARY byte[]
  16. LONGVARBINARY byte[]
  17. DATE java.sql.Date
  18. TIME java.sql.Time
  19. TIMESTAMP java.sql.Timestamp

datetime

netstat -ano