学习目标:
- 针对数据库的认识以及介绍【市面上常见的数据库 关系数据库:oracle,mysql,sqlserver 非关系型数据库 no-sql数据库:redis(企业常用)】
- mysql数据库中定义语句ddl语句
- 针对表的操作记录DML语句:数据库操作语句
学习内容:
提示:这里可以添加要学的内容
例如:
-
什么是数据库,能够存储数据的仓库,就叫做数据库;存储数据的方式都有:
1)使用变量存储,临时变量,使用完毕后,被java中的GC,垃圾回收器回收这些变量的或者一些对象,保证内存的释放!
2)使用数组存储,容器,在java中数组长度固定的
3)使用集合存储,容器,长度可变的 需要不断的使用集合,意味着创建集合,集合对象(),堆内存不友好,会销毁内存
4)使用Io流程,input读取,output写出,读写的过程比较耗时
5)数据库存储,永久性的,效率高,里面会设计到数据库锁的概念,能够保证数据安全
mysql设计到了两种引擎,MyisAM 表级锁
InnoDB 行级锁 推荐
数据库分为两种:关系数据库:oracle 大型企业使用 收费
mysql 中小型企业 免费的
sqlserve 和net平台兼容性比较好
mariaDB 和mysql是同一个数据库引擎
sqlite 轻型数据库
非关系数据库:redis 分布式缓存
MongoDb -
学习mysqlddl语句,数据库本身在磁盘上进行存储,其实本质上就是一个文件夹,【C:\ProgramData\MySQL\MySQL Server 5.5\data】
展示(查看)mysql的所有的数据库 show databases;
1)进入/使用库 use 库名;
2)创建新的数据库 create database 数据库名;
create database if not exists库名;如果不存在就创建
3)查询创建的数据库的默认字符集:show create database 库名;
4)修改数据库的字符集 alter database 库名 DEFAULT CHARACTER SET 要修改成的字符集
5)删除数据库 drop database 库名;
drop database if exists 库名;判断删除,如果存在库删除;
6)创建表 create table 表名(
字段名称1 类型1,
字段名称2 类型2,
);
7)查询表:查询这个库中的所有表 show tables ;
8)查询表的结构: desc 表名;
9)修改表的字段名称 alter table 表名 change 原本的字段 想要更改后的字段 字段类型
10)修改表的字段类型;alter table 表名 modify 想要修改的字段 更改后的字段类型;
11)给表中新添加一列;alter table 要添加到的表名 add 添加的字段 添加的字段类型;
12)删除一列:alter table 表名 drop 想要删除的字段名称;
13)复制一个一样的表: create table 新表名 like 复制的表;
14)删除一个表,drop table 表名;
drop table if exists 表名;
15)修改表的名字 alter table 旧表名 rename to 新表名 -
mysql数据库中常用的数据类型:
. int 整形 默认长度为11,一般不用int(大小),因为这样如果输入不够的话,会补充0在里面;
varchar(大小) 表示字符串类型
datetime:日期事件,可以制定日期时间;
tempstamp:时间戳,系统当前即时时间;
double(大小,小数点后保留几位):小数类型, -
. dml语句;数据库的操作语句,操作表的记录,
1)插入数据 语法1:插入全部字段,给全部字段进行赋值
insert into 表名 values(值1,值2 ,值3,值4…值n);
插入值必须和当前字段顺序要相对应,而且还要符合这个字段的数据类型;
eg:insert into student values(1,“bxq”,“男”);
语法2:insert into 表名 values(值1,值2,值3…值n),(值1,值2 ,值3…值n);
语法3:插入部分字段,未插入的字段默认值为null;
insert into 表名(字段名称1,字段名称2,)values(值1,值2 ,);
2)修改表中的记录:
语法1 update 表名 set 字段名称1=值1 where 字段名称=xx;[修改单个字段] [可以用and给他加上多个条件]
eg:update Name set name=“bxq” where id=1;[这里where条件一般用的都是非业务字段,实际开发中,没一张表中都有非业务字段—id序号(唯一增长,而且自增长约束)]
语法2:update 表名 set 字段名称1=值1,字段名称2=值2,字段名称3=值3,…,字段名称n=值n where 字段=值;[可以一次修改多个字段]
语法3,不带where,当没有给他加where条件的时候,更改的话,会把所有这个字段里的都改成这个值,一般用与批量批改…
3)删除表的记录
删除表指定的记录,带条件(where)来进行删除
delete from 表名 where 字段名=值;[此处条件的字段名依旧是非业务字段最好,如果不带where条件的话,会把全表数据删除]
删除表中全部记录:
delete from 表名
truncate table 表名;
这两个都可以删除全表记录,delete from 表名仅仅是删除全表数据,而不是删除表,如果表中的非业务字段(id)有自增长约束的话,不会影响自增长约束,如果下一次插入数据的话,id继续自增长,但是truncate table 表名;会将表中的全部记录删除,并且同时吧表删除,但是会重新创建一个和刚刚一模一样的表,也就是说会影响到自增长的值.
以下是对今日内容的一些练习,具体代码如下:
详细的讲解