数据库笔记01
存储数据库的仓库,一台电脑装有数据库软件,可以对外界数据进行增删改查服务
数据库分类:
SQLServer 微软的。中小型关系数据库
MYSQL 中小型的关系型数据库
Oracle 大型的关系型数据库
关系型数据库: 具有行和列的这种二维表结构的数据库
非关系型数据: NOSQL 用键值关系来存储数据 类似 json
数据库的安装与卸载:
1.可以使用第三方软件来卸载
2.在控制面板里面常规卸载
1< 停止后台服务 电脑-右键-管理-服务-MYsql-右键停止掉
2< 卸载
3< 清楚残留文件:C:\ProgramData\MySQL 把这个MYSQL文件夹删除
操作数据库 增删改查
SQL : 结构化查询语言,用来对关系型数据库进行操作,它是一套规范,关系型数据库,都会遵循此规范,但是允许各家的数据库,有差异。
语法:
DDL(data definition language):数据定义语言,用来定义数据对象:库,表,列等;
DML(data manipulation language):数据操作语言,用来定义数据库记录(增,删,改)
DCL(data control language):数据控制语言,用来定义访问权限和安全级别
DQL(data query language):数据查询语言,用来查询语言(重点)
DDL:
创建数据库:create database 库名;
查询所有库:show databases;
删除库;drop database mydb;
修改数据库编码:alter database mydb character set='gbk'
查看建库语句:show create database mydb
建表 删除表 对表头进行操作
切换库 usemydb;
查看该库下所有的表;show tables
查看表结构 desc 表名
表头:如 id name age sal
创建表时,列名 是要有数据类型的
数据库中常见的数据类型
列的数据类型:
int:整型 如 id int
double:浮点型,例如double(5,2)表示最多5位,2代表要有两位小数,最大值为999.99
char:固定长度字符串类型;
name char(10) “张三”
varcahr:可变长度字符串类型
name varchar(10) “张三”
text: 字符串类型;存大格式的文本 比如存个小说,一般不用
blob:字节型,存字节类型的数据 比如电影字节 图片字节 但是一般不会把字节数据存到数据库当中
data:日期类型,格式为:yyyy-mm-dd
time:事件类型:格式为:hh:mm:ss
datatime:日期时间类型 yyyy-mm-dd hh:mm:ss
*timestamp:时间戳类型 yyyy-mm-dd hh:mm:ss (如果不给赋值,则默认为当前时间)
创建表:create table 表名(列表1 数据类型,列表2 数据类型,......)
如下:
create table student(
id int,
name varchar(16),
age int,
sal double(5,2)
);
注意点:列名的命名的规范:遵循java中的命名规范,记住不要拿MYSQL中的关键字来命名
修改表名:alter table 旧表名 rename to 新表名
删除表: drop table 表名
表中 表头的操作 alter
添加一个列
alter table student add(phone varchar(11));
删除一个列
alter table student drop phone;
修改列名
alter table student change name username varchar(20);
修改列的数据类型
alter table student modify userame char(20);
alter table student change username username varchar(20);
查看建表语句
show create table student
DML :给表中 插入数据,删除数据 修改数据
插入数据 insert into 表名(字段1,字段2,...) values(值1,值2,..);
简写;插入数据 insert into 表名 values(值1,值2,...);
---字符串,日期类型都是用单引号括起来
删除表中所有数据
delete from student --逐行删除,无条件删除,删除表中所有数据,效率慢
truncate table 表名--删除所有记录
条件删除 where = > < >= <= and or
delete from student where name='zhangsan';
delete from student where name = 'zhangsan' and birthday='2019-08-21 15:44:12'
修改表中的数据
update student set 字段名=‘修改的值’,set 字段名...where条件
如:update student set name=‘lisi’,age=30;---不带条件
uodate student set name='wangwu',age=25
如:where name='lisi'and birthday='2019-08-18 12:00:00'; --带条件修改