1.什么是数据库?
答:高效的存储和处理数据的介质
2数据库的分类:关系型和非关系型数据库
3.关系型数据库:大型:Oracle, DB2 中型:MySQL , SQLserver 小型:Accsess
4.非关系型数据库:memcached, mongodb, redis
5.两种数据库的区别:关系型数据库:安全(保存磁盘基本不会丢失),容易理解,比较浪费空间
非关系型数据库:效率高,不安全(断电丢失)
6.关键字说明:
1)数据库:database
2)数据库系统:DBS(database System)是一种虚拟系统,将多种内容关联起来的称呼
3)DBS=DBMS+DB
4)DBM(database Managerment System)数据库管理系统
5)DBA(database administrator)数据库管理员
行/记录:row/record
列/字段:column/field
7.SQL
SQL: Structured Query Language (结构化查询语言)
SQL分为三个部分:
DDL:Data Definition Language 数据库定义语言 代表语言:create drop alter 等
DML:Data Manipulate Language 数据库操作语言 代表语言 :select update delete 等
DCL:Data Control Language 数据库控制语言 代表语言: grant revoke 等
SQL是关系型数据库的操作指令,SQL是一种约束,但不强制
8.Mysql 数据库
1)MySQL是一种C/S结构软件:客户端/服务器,想访问服务器必须通过客户端(服务器一直在运行,客户端在需要使用时运行)
2)交互方式:
1.客户端连接认证:连接服务器,认证身份
2.发送SQL指令
3.服务器接收SQL指令,处理SQL指令,返回结果
4.客户端接收结果:显示结果
5.断开连接:释放资源
9.MySQL服务对象:系统(DBMS)-->数据库(DB)-->数据表(Table)-->字段(field)
10.SQL基本操作:
1.基本操作:CRUD
2.将SQL的基本操作对象进行分类:分为三类:库操作,表操作,数据操作
11.库操作:
1)创建数据库:
1、基本语法:Create database 数据库名字 [库选项];
2、库选项:用来约束数据库,分为两个选项:charset/character 具体字符集(数据库存储的编码格式),常用字符集:GBK和UTF8 校对集设定:collate 具体校对集
3、--+空格 # 数据库注释
4、创建数据库语句:create database mydatabase charset utf8;
5、创建关键字数据库需使用反引号 ' '
6、创建中文数据库需要加:set name gbk;
7、查询数据库:show database like 'tes_%' (查询一tes开头的所有数据库)
2)更新数据库:
1、数据库名字不可以更改
2、数据库的修改仅限于库选项:字符集和校对集
3、修改数据库字符集语法:alter database 数据库名称 charset 修改的编码格式(GBK UTF8等);
3)删除数据库:
1、删除数据库语法:drop database 数据库名称;
2、注意事项:删除数据库应是先进行数据库备份后操作(删除不可逆);
12.表操作:
1)表与字段是密不可分的。
2)创建数据表语法:create table [if not exists] 表名(
字段名字 数据类型,
字段名字 数据类型,
字段名字 数据类型 最后一行不需要逗号
)[表选项];
例子: create table if not exists student(
name varchar(10),
gender varchar(10),
number int
)charset utf8;
3) if not exists: 如果表名不存在,那么久创建,否则不执行,检查功能
4)表选项:控制表的表现
字符集:charset 具体字符集
校对集:collate 具体校对集
存储引擎:engine 具体的存储引擎(innodb myisam)
5)查询所有表:show tables ;
6)查询以什么开头或一什么结尾:show tables like '%_?' or show tables like '?_%';
7)查看表结构:查看表中的字段信息 show create table student\G/g (查看表的结构横向和纵向)
1、查看表结构语句:Desc/describe/colums from 表名
13.修改数据表:
1)表本身存在,还包含字段,表的修改分为两个部分,修改表本身和修改字段
2)修改本身:
1、表本身可以修改:表名和表选项
2、修改表名语句:rename tables 老表名 to 新表名;例句: rename tables student to mystudent;
3、修改表选项语法:alter table 表名 charset utf8/gbk; 例句:alter table student charset = utf8;
3)修改字段:操作有:新增,修改,重命名,删除
1、新增字段:
1.alter table 表名 add [column] 字段名 数据类型 [列属性][位置]
位置:字段可以存放在表中的任意位置
first:第一 例句: alter table mystudent add id int first;
after:在哪个字段字后,默认是在最后个字段;例句: alter table mystudent add sex varchar(20);
2、修改字段:修改通常是修改属性或者数据类型;
1、alter table 表名 modify 字段名 数据类型 (属性) [位置]; 例句:alter table mystudent modify age varchar(10) alter id;
3、重命名字段:
1、alter table 表名 change 旧字段名 新字段名 数据类型(属性 [位置]; 例句:alter table mystudent change gender email varchar(22) after name;
4、删除字段:
1、alter table 表名 drop 字段名; 例句 : alter table mystudent drop sex;
14.删除数据表: drop table 表名1,表名2,...;可以删除多张表;
1)当删除数据表指令执行指令之后会发生什么?
1、在表空间中没有了指定的表(数据也将不存在了)
2、在数据库对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除。(注意删除有危险,操作需谨慎,删除不可逆!!!)
15、数据操作:
1)新增数据:
1、有两种方案:
1.方案一:给全表字段插入数据,不需要指定字段列表,要求数据的之出现的顺序必须与表中的设计的字段一致,凡是非数值数据,都需要使用引号;
语句结构:insert into 表名 values(值列表1),(值列表2),(值列表3); 可以一次性插入多条记录;
例句:insert into mystudent values(2,22,'大龙','123@qq.com'),(2,20,'小龙','12345@qq.com');
2.方案二:给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是之值列表的顺序与选定的字段的顺序一致;
语句结构:insert into 表名 (字段列表) values (值列表1),(值列表2),(值列表3);
例句:insert into mystudent (id,age,email,name) values(3,10,'4646@163.com','小宝'),(4,12,'4646@163.com','小宝');
2)查看数据:
1、查看所有数据:select * from 表名;
2、查看指定数据:select 指定字段 from 表名 ;
3)更新数据:
1、update 表名 set 字段=值 [where 条件] 字段=值 (建议都有where;要不是更新全部)
例句:update mystudent set age=100 where name="大龙";
4)删除数据:
1、delete from 表名 where 字段=值;(删除不可逆,操作需谨慎!!!)
例句:delete from mystudent where id=2 and name="大龙";
整理不易,小小打赏,小编会很开心,哈哈哈哈哈哈。。。。。。。。。。。