Java 学习之数据库

数据库(DataBase)

    保存数据,保存到一个文件中,对数据进行持久化。

    使用简单的命令就可以实现增删改查。

数据库管理系统

    可以操作数据库的应用程序

常用的数据库

    mysql数据库,中小型数据库。

DDL数据库定义语言(定义库、表、列)

    CREATE ALTER DROP

DML数据库操作语言(定义表中数据)

    INSERT UPDATE DELETE

DQL数据库查询语言(查询表中数据)

    SELECT


注意:

    SQL语句不区分大小写;

    SQL语句以;结束。


DDL指令:

    查询现有数据库:

    show database;

    创建一个数据库:

    create database 数据库名;

  创建数据库并指定字符集(一般使用utf8)

  create database 数据库名 character set 字符集名;

  

  指定查询一个创建好的数据库(查询该数据库的编码格式)

  windows 默认的数据库编码格式 utf8

  mac 初始默认数据库编码格式 latin1(不能插入中文)

  show create database 数据库名;


  修改数据库创建时的默认字符集:修改my.cnf文件(有数据库的默认配置文件)。

  查看字符集的所有校验规则:

  每一个编码格式 都有一个对应的校验规则。

  show character set;

    

  创建数据库 指定字符集和校验规则(collate 校验):

  create database 数据库名 character set 字符集名 collate 校验规则;

  注意:校验规则要对应上。


  修改数据库(Alter)

  1.修改编码格式

  alter database 数据库名 character set 字符集;

  

  删除数据库(Drop 删除)

  drop database 数据库名;


  表的操作

  创建一张表:

  create table 表名(

   字段1 字段类型,

   字段2 字段类型,

   ...

   字段n 字段类型

  );

  

  字段类型常用类型

  int:整型;
  double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
  char:固定长度字符串类型; char(10)  'abc       ';
  varchar:可变长度字符串类型;varchar(10) 'abc' (也是存10个字符但是会自动去除空格 常用但效率比char低);
  text:字符串类型; 大数据文本,最大4M;
  blob:字节类型;
  date:日期类型,格式为:yyyy-MM-dd;
  time:时间类型,格式为:hh:mm:ss;
  timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss。会自动赋值当前系统时间,可以直接插入null;
  '2018-06-11' 不想使用默认系统时间 可以直接用字符串插入;
  datetime:日期时间类型 yyyy-MM-dd hh:mm:ss。  


  DMl

  

  查看表结构

  desc 表名

  查看整张表内容

  select * from 表名;

  

  

  表中插入数据

  方式一:只要字段与值相对应,没填的字段,默认是null。

  格式:

  insert into 表名 (字段1,字段2,....) values (值1,值2,....);

  注意:字段与值得顺序和类型要一一对应。

  如果该字段没值,使用null代替。


  

  方式二:批量插入

  insert into 表名 values 

  (值1,值2,....),

  (值1,值2,....),

  (值1,值2,....);

  需要填全所有字段。


  修改表 DDL

  添加一列

  alter table 表名 add 字段名 类型;

  修改一个字段的长度 

  alter table 表名 modify 字段名 类型;

  删除一个字段  

  alter table 表名 drop 字段名;

  alter table 表名 drop 字段名;

  修改表名

  rename table 原表名 to 新表名;

  查看表格的创建细节

  show create table 表名;

  修改列名

  alter table 表名 change 原字段 新字段 新字段类型;


  

  修改(更新)表数据

  多个值用逗号隔开。

  update 表名 set 字段名1 = 字段值1,字段名2 = 字段值2,... where 字段 = 值;

  

  删除操作(删除一条数据)

  delete from 表名 where 字段 = 字段值;

  删除表中的所有数据

  delete from 表名;

  delete删除时 是一条记录一条记录删除,并且如果删除错误,数据可以回滚,但是一条一条删效率不高。

  truncate table 表名;

  直接删除表,再重新建立一张表,字段相同,效率高,但是不能找回。


  字段控制查询 

  去除重复数据

  select distinct 字段 from 表名;

  查询数据和

  select 字段1 + 字段2 from 表名;

  注意:一个值和null相加,得到的值一定是null。可以使用ifnull(字段,0)来解决。

  给字段起别名

  select 字段1 + 字段2 as 别名 from 表名;

  as可以省略。

  排序

  select * from 表名 order by 字段;  

  根据字段数据进行排序,默认升序排序(ASC)    

  select * from 表名 order by 字段 DESC;

  可以使用DESC进行降序排序。  


  模糊查询

  模糊查询

  使用like 关键字, like '%%' '__'

  select * from 表名 where 字段 like '%%';    


  聚合函数 对列数据进行操作

  可以自动过滤空值,count是计算总数,sum是求和,avg求平均数,max 最大,min最小  

  select count(字段) from 表名;

 select sum(字段) from 表名;

 select avg(字段) from 表名;

 select max(字段),min(字段) from 表名;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值