学习笔记:数据库的安装和基本语法

Java数据库语法总结:


  昨天花了一个晚上完成了这个学期的第一个程序,学到了apache的HSSF的基本用法,即对.xls文件的基本的读入写出和风格设置,这些东西明天抽时间再进行总结。
PS:(最近很忙,所以这些笔记也许会有不完善的地方,未来继续学习的过程中如果有新的领悟,我会及时更新这个文档)。最后一次更新时间:(2017/5/9 12:01:18 )


数据库的概述

概念

  • 数据库(DataBase)的概念:
    • 数据库就是存储数据的仓库,其本质是一个文件系统,数据库按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
  • 数据库管理系统( DataBase Management System,DBMS )的概念:
    • 数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。
    • 用户通过数据库管理系统访问数据库中表内的数据。
  • 常见的数据库管理系统
    • MySQL(开源的小型的数据库,6.x版本前是免费的,已被Oralce公司收购);
    • Oracle(收费的大型数据库,Oracle公司拳头产品);
    • DB2(IBM公司的收费的数据库产品,常用于银行系统中);
    • SQLServer(微软公司的收费的中型数据库,C#、.net等语言常用);
    • SQLite(嵌入的小型数据库, 常用语移动端)
    • Java中常用的数据库是MySQL、Oralce
  • 数据库表
    • 数据库中以数据表的形式存储数据
    • 数据表的每个字段都有自己的对应的数据类型
  • 表数据
    • 根据表字段所规定的数据类型,我们可以向其中填入一条条的数据,而表中的每条数据类似类的实例对象。表中的一行一行的信息我们称之为记录。
    • 数据库中关系可以与Java程序进行类比,有如下关系
      • 类 —— 表
      • 类中属性 —— 表中属性
      • 对象 —— 记录
  • 数据库和管理系统的关系
    • 大小关系为
      服务器 > 数据库 > 数据表

数据库的安装

mysql的安装

  mysql在6.0版本之前都是免费开源的,知道被Oracle公司收购之后,开始收费。mysql6.0之前的版本在mysql的官网上就能下载,安装的具体流程这里不会赘述,最主要是注意设置好databases的存储位置。

GUI的安装

  数据库的图形用户界面工具作为辅助数据库操作的工具而存在着,有很多种,我用的就是专门为mysql设计的sqlyog。sqlyog最新的版本为12.19,你可以下载正版,然后输入注册码,网络上注册码有很多可以直接拿来用,下边的三个注册码就可以用:

NAMECODE
ttrar8d8120df-a5c3-4989-8f47-5afc79c56e7c
ttrar59adfdfe-bcb0-4762-8267-d7fccf16beda
ttrarec38d297-0543-4679-b098-4baadf91f983

SQL语句

SQL语句分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
  • 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
  • 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

SQL通用语法

  • SQL语句可以单行或多行书写,以分号结尾
  • 可使用空格和缩进来增强语句的可读性
  • MySQL数据库的SQL语句不区分大小写建议使用大写,例如:SELECT * FROM user。
  • 同样可以使用/**/的方式完成注释
  • MySQL中的我们常使用的数据类型如下
数据类型符号
整型int
浮点型double
字符串型varchar
日期类型date

数据库操作(增删改查)

  • 创建数据库:
    • 创建数据库时,默认编码是你设置数据库时设置的默认编码,建议配置默认编码为UTF_8
格式作用备注
create databases <数据库名>;默认字符集创建新数据库注意creat**e**,database**s**
create databases <数据库名> character set <字符集>;指定字符集创建新数据库
  • 删除数据库
格式作用备注
drop database <数据库名>;删除指定数据库数据库建立时有四个默认数据库,那四个数据库最好不要动
drop database if exists <数据库名>;删除指定的不确定是否存在的数据库优点是不会报错

* 查看数据库

格式作用备注
show databases;查看服务器中所有的数据库注意database**s**
show createdatabase <数据库名>;查看指定数据库的信息
select database();查看正在使用的数据库
  • 其他操作
格式作用备注
use <数据库名>;连接数据库
select version();显示MySQL的版本
select now();显示当前时间
set names ‘字符集名称’设置mysql在当前cmd窗口下的字符集类型Windows系统要设置为’gbk’

* 关于mysql获取当前时间:“MySQL通过sql语句获取当前日期|时间|时间戳”

数据表操作

  • 创建表  (create)
    create table 表名(
    字段名 类型(长度) 约束,
    字段名 类型(长度) 约束
    );

  • 查看表  (show, desc, select, from)

格式作用备注
show tables;查看数据库中的所有表
desc <表名>;查看数据表的结构
select * from <表名>;查看数据表中所有记录查看记录在查询数据表中详细介绍

* 删除

格式作用备注
drop table <表名>;删除指定数据表
truncate table <表名>;重建指定数据表重建之后表中数据全部清空

* 修改数据表结构  (rename, alter, modify, change, set)

格式作用备注
rename table <表名> to <新表名>;修改指定表的表名
alter table <表名> add <数据类型> <约束>;给指定表添加一个新字段
alter table <表名> modify <字段名> <类型> <约束>;修改指定表的指定列的类型长度和约束
alter table <表名> change <字段名> <新列名> <类型> <约束>;修改指定表的列名
alter table <表名> drop <字段名>;修改指定表删除指定列
alter table <表名> character set <字符集>;修改指定表的字符集

对数据表中数据操作

  • 向表中插入新记录  (insert, into, values)
格式作用备注
insert into <表名> <字段1, 字段2> values <值1,值2>;向表中插入一条某些列存在数据的记录其他列数据为null
insert into <表名> values <值1, 值2>;向表中插入一条数据所有值全给出
insert into <表名> <字段1,字段2> values <值1,值2>,<值1,值2>批量写入数据;

* 更新表中记录  (update, where)

格式作用备注
update <表名> set <字段名>=<值>,<字段名>=<值>;修改字段中所有数据的值慎重
update 表名 set 字段名=值,字段名=值 where 条件;修改符合条件的数据的值用于修改某个或一类数据

* 删除表中记录   (delete, from)

格式作用备注
delete from <表名> where <条件>;根据条件删除记录
delete from <表名>;删除表中所有数据一条一条删除, **不清空**auto_increment记录数
truncate table <表名>删除表中所有数据重新建表,**清空**auto_increment记录数

* 基本查询表中记录   (select, from)

格式作用备注
select <字段1,字段2> from <表名>;查询表中指定字段的信息
select * from <表名>;查询表中所有字段的信息* 是通配符
select distinct <字段名> from <表名>;查询所有字段并根据指定字段去重
select <字段名> as <别名> from <表名>;查询记录并将指定字段设置别名
select * as 别名 from 表名 ;查询所有字段并将表设置别名
select <字段名+digit> from <表名>;查询时可以对字段直接进行数值运算

* 条件查询表中记录   (select, where)

格式作用备注
select <字段1,字段2> from <表名> where <条件>;根据条件查询表中记录条件通常使用运算符

* 条件查询的运算符

  • 排序查询
格式作用备注
select <字段1,字段2> from <表名> order by <字段名> <排序方式>;根据指定字段按照指定排序方式指定字段按照排序后的样式显示出来[desc]表示降序
[asc]表示升序
升序可以省略不写,默认升序
不支持汉字的排序

* 聚合查询

* 聚合函数会对一整列的值进行计算,然后返回单一的值,并且忽略零值   
* count, sum, avg很常用,其中count最常用
格式作用备注
select count(<字段名>) from <表名>;查询表中指定字段不为空的记录共有多少条得到的结果集的名以函数名命名
select sum(<字段名>) from <表名>;查询表并将指定字段数据求和结果显示在“结果中”
只能对数值进行运算
select max(<字段名>) from <表名>;获取指定字段的最大值
select min(<字段名>) from <表名>;获取指定字段的最小值
select avg(<字段名>) from <表名>;计算一个列所有数据的平均值
  • 分组查询
    • 适用于按照类别求总和等操作,必须跟随聚合函数使用,单独存在不具有意义。
    • select 查询时,被分组的列要出现在select的选择列的后边
    • 分组之后再过滤用’having’关键词
格式作用备注
select <字段1,字段2> from <表名> group by <字段名>根据指定字段指定字段筛选
select <字段1,字段2> from <表明> group by <字段名> having <条件>分组后再过滤
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值