数据库概述
为什么使用数据库:解决操作系统之间的跨平台
数据库,顾名思义,就是遵循一定数据格式的数据集合,可以认为它是对文件系统的改进。它解决了不同操作系统之间,数据格式的兼容性问题。
关系型数据库与非关系型数据库
关系型数据库:一个类对应一张表,一个对象对应一行数据,一个成员变量可以对应表中的一个列(字段),能够做到一一的映射,数据库中是以表作为基本单位的
非关系型数据库:是存储键值对的,即有关系型数据库处理数据的方便性,也能处理大量数据,比较火的就是Redis、mongoDB了,各有千秋
ORM : Object Relationl Mapping 对象关系映射
数据库对象
表,视图,函数,存储过程,索引
数据类型
整型,浮点型,字符型,日期时间型等。
char与varchar
char是定长,可能会造成空间浪费
varchar是不定长,会自动扩容,可能会比较费时间
sql分类
数据查询语言(DQL-Data Query Language)
代表关键字:select
数据操作语言(DML-Data Manipulation Language)
代表关键字:insert,delete,update
数据定义语言(DDL-Data Definition Language)
代表关键字:create ,drop,alter,
事务控制语言(TCL-Transactional Control Language)
代表关键字:commit ,rollback;
数据控制语言(DCL-Data Control Language)
代表关键字:grant,revoke.
MySQL基本使用
DCL–用户创建和授权
Create 创建用户使用 grant 授权使用 revoke 撤销授权使用 drop 删除用户使用
授予全部权限
与撤销权限
#创建用户
create user 'tledu'@'localhost' identified by 'tledu';
#权限授予
grant all privileges on *.* to 'tledu'@'localhost' identified by 'tledu';
# 刷新权限
FLUSH privileges;
#撤销权限
revoke all privileges on *.* from 'tledu'@'localhost' identified by 'tledu';
#删除用户
drop user 'tledu'@'localhost';
授予部分权限与相应的表
GRANT select,insert,update,drop,create,delete ON table.* TO 'c'@'%' IDENTIFIED BY 'c' ;
DDL–数据库创建
Create 创建(数据库,表) drop 删除(数据库,表)
命令行使用
查看当前链接的MySQL服务器的版本
select version();
显示当前链接的MySQL服务器中的所有的数据库
show databases;
输出指定内容, 字符串需要用单引号括起来,不区分字符还是字符串,都用单引号就行,数值可以直接写
select ‘xxxx’;
设置字段名
select ‘xxxx’ as 字段名;
as也可以省略
select ‘xxxx’ 字段名;
切换数据库
use test;
查看当前库下面的所有表,使用这个命令的时候,通常会跟着一条use xxx; 切换数据库,如果当前命令行,没有在库里面打开,直接使用show tables 会报错
show tables;
创建与删除数据库
CREATE DATABASE test;
DROP DATABASE test;
DDL–表创建和删除
Show create table 表名 ; 查看建表语句
CREATE TABLE test;
DROP TABLE test;
创建 学生表(student)
create table student(
id int,
`name` varchar(30)
)ENGINE = innodb default charset = utf8;
选择数据库引擎,可以不指定
ENGINE = innodb default charset = utf8