JavaWeb入门之数据库
数据库的基本概念
1、数据库的英文:DataBase 简称DB
2、什么是数据库?
用于存储和管理数据的仓库。
3、数据可的特点
①持久化存储数据,其实数据库就是一个文件系统
②方便存储和管理数据
③ 使用了统一的方式操作数据库 SQL
4、常见的数据库软件:
Oracle(商业收费)、Mysql(mysql6之后开始收费)、 Microsoft SQL Server、DB2、SQLite(用于手机端)
MySQL数据库
MySQL服务启动
1、cmd--> services.msc 打开服务的窗口
2、使用管理员打开cmd
net start mysql : 启动mysql服务
net stop mysql : 关闭mysql服务
MySQL服务登录
1. mysql -uroot -proot
2. mysql -hip -ruroot -p连接目标的密码
3. mysql --host=ip --user=root --password=连接目标的密码
MySQL服务退出
1. exit
2. quit
SQL通用语法特点
1. SQL语句可以单行或多行书写,以分号结束。
2. 不区分大小写,关键字建议使用大写。
SQL四种分类
1.DDL:操作数据库 CURD
①Create:创建
create database if not exist 名称 character set gbk;(默认utf8)
②Retrieve:查询
show databases :查看数据库名称
show create database mysql(数据库名称): 查看数据库创建语句
③Updata:修改
alter database 数据库名称 character set utf8
④Delete:删除
drop database if not 数据库名称;
⑤使用数据库
查询当前正在使用的数据库名称: select database;
使用数据库: use 数据库名称
2.DML: 操作表
① Create:创建
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
.......
);
* 数据库数据类型
1.int 整型
2.double:小数类型(score double(5,2) 共五位,小数点后保留两位)
3.date:日期,只包含年月日 yyyy-MM-dd
4.datatime : 日期 yyyy-MM-dd HH:mm:ss
5 timestamp:时间戳类型 yyyy-MM-dd HH:mm:ss
*如果不给此字段赋值,或为null,则默认使用当前系统时间,自动赋值
6.varchar:字符串
name varchar(20) 20个字符
② Retrieve:查询
1.查询数据库中所有表的名称:show tables;
2.查询表结构:desc 表名
③ Update:修改
1.修改表名
alter table 表名 rename to 新表名
2.修改表的字符集
alter table 表名 character set utf8;
3.添加一列
alter table 表名 add 列名 数据类型
4.修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型;
alter table 表名 modift 列名 新数据类型
5.删除列
alter table 表名 drop 列名;
④ Delete:删除
drop table if exists 表名;
** DML: 增删改查表中的数据
① insert:添加数据
insert into 表名(列名1,列名2) values (值1,值2)
*注意:1.列名要和值一一对应
2.如果表名后,不定义列名,则默认给所有列添加值
insert into 表名 values (值1,值2)
3.除了数字类型,其他类型需要使用引号(单双引号都可)引起来
② Update:修改
语法:update 表名 set 列名1=值1,列名2=值2...【where】
*注:如果不加任何条件,则会将表中所有记录全部修改。
③ Delete:删除
语法::delete from 表名 【where 条件】
*注:1.如果不加条件,则删除表中所有记录
2.如果要删除所有记录
delete from 表名;--不推荐使用,有多少记录会执行多少次操作
TRUNCATE TABLE 表名;--推荐使用,效率更高,先删除表,然后再创建一张一样的表
3.DQL:查询表中的记录
select * from 表名;
1.语法:
select 字段列表
from 表名列表
where 条件语句
group by 分组字段
having 分组之后的条件
order by 排序
limit 分页限定
2.基础查询
select 字段名1,字段名2... from 表名;
*注:如果查询所有字段,则可以使用*来替代字段列表
3.去重 * distanct
4.计算列
*一般可以使用四则运算计算一些列的值(一般都是数值型的计算)
* ifnull(表达式1,表达式2):null参与的计算,计算结果都为null
*表达式1:哪个字段需要判断是否为null
*表达式2:如果该字段为null后的替换值
5.起别名 :AS (AS也可以省略)
3.条件查询
1.where子句后跟条件
2.运算符
* >、< 、<= 、>=、 =、 <>、 !=
* BETWWEEN...AND
* IN(集合)
* like(模糊查询)
* IS NULL
* AND 或 &&
* or 或 ||
* not 或 !
4.排序查询
* order by 子句
* 默认升序: ASC
* 降序 : DESC
5.聚合查询
*count:计算个数、 max :最大值、 min:最小值 、sum:和 、avg(平均值)
*注意:聚合函数会排除Null
6.分组查询
语法:group by
7.分页上查询
4.DCL: