mysql数据库总结

一、简介

1.1 DBS、DB、DBMS

DBS:数据库系统

DB:数据库

DBMS:数据库管理系统

1.2三者关系和特征

DBS包含DB,DBMS

DBS的基本特征:共享性,独立性,冗余度小

数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段

数据库是有组织的、可共享的数据集合

数据库的基本特征:共享性、独立性、冗余度小

数据库完整性:正确性和相容性

1.3数据模型

数据模型包含概念模型,逻辑模型,物理模型,是数据库的核心和基础

数据库中通常用实体-联系方法来描述现实世界的概念模型

概念模型 存在在信息世界

逻辑模型 包含层次模型,网状模型,关系模型

1.4概念模型

ER图是用来描述概念数据模型

ER图三要素:实体,属性,联系

1.5关系模型(二维表)

传统:并 交 差 笛卡尔积

专门:选择 投影 连接 除法运算

基本:并 差 选择 投影 笛卡尔积

关系操作(集合操作):查询 数据更新

1.6数据完整性

实体完整性:主属性不能为空且唯一(主码约束)

参照完整性:外键和主键关系

用户自定义完整性:自定义不能大于

二、数据库使用

2.1 启动和登录

启动:net start mysql

登录:mysql -u root -p

2.2 备份(导出)与还原(导入)

备份:mysqldump  -u 用户名 -p密码  原数据库名 > 备份出的副本文件名

多个备份:mysqldump  -hhostname  -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql

导出表:mysqldump -uroot -pdbpasswd dbname test > db.sql;

导出数据库的结构:mysqldump -uroot -pdbpasswd -d dbname >db.sql;

还原:mysql  -u 用户名 -p密码  mysql内部的目标数据库名 < 外部源文件名

注:dbname,databasename代表数据库名(可自行修改)

2.3数据库操作

创建数据库:create database  dbname;

删除数据库: drop database dbname;

查看数据库信息:show database dbname;

改变数据库:

改变名字:alter database dbname

改变字节码:default character set utf8/gbk

三、表的使用

创建表:Create table 表名(id int,name varchar(10));

其中,id和name是表的列名,int和varchar(10)是数据类型

数据类型:int char(255) varchar(255) float(10,最大位数) eunm(‘男’,’女’)

其中,char(255)是不能超过255个字符

删除表:drop table 表名;

查看表:

表的详细信息:show create table 表名;

表的结构:desc 表名;

表的内容:Select *from 表名;

复制表:create table 新表 like 表名;(结构)

Create table 新表 select*from 表名;(整个表)

修改表:alter table 旧名 rename 表名;(表名)

Alter table 表名 change 旧字段 新 类型 first/after ;(改字段)

Alter table 表名 add 新列 类 first;(加字段)

Alter table 表名 drop 字段;(删字段)

四、对表中数据的操作

4.1数据

插入:一行完整数据:Insert into 表名 values(值1,值2);

多行完整数据:Insert into 表名 values(值1,值2),(值3,值4),(值5,值6);

一行不完整数据:insert into 表名(属性名1,属性名2) values (值1,值2);

删除:delete from 表名 where 条件;

修改:update 表名 set 字段=值 where 条件;

4.2索引

创建:create table 表(字 类, index 索引名(字));

添加:alter table 表 add index 索引名(字);

唯一:alter table 表 add unique index 索引名(字);

全文:alter table 表 add fulltext index 索引名(字);

删除:drop index 索引名 on 表;

4.3约束

4.3.1自增约束(Auto_increment)

insert into 表 values(100);

Alter table 表 auto_increment=100;

 Alter table 表 modify 列 类 not null;

4.3.2主键

alter table 表add constraint ** primary key(id);

Alter table 表 drop primary key;

4.3.3外键

alter table 表 add foreign key(id) references 表(id);

On delete cascade级联

Alter table 表 drop foreign key **;

4.3.4唯一性约束

alter table 表modify 字 类 unique

Alter table 表 drop index 索引名(唯一索引);

4.3.5非空约束

alter table 表 modify 字 类 not null;

alter table 表 modify 字 类 null;

4.3.6注释

alter table 表 modify 字 类comment ””;

4.3.7默认约束

alter table 表`modify 字 类 default 默认值;

五、查询

5.1普通查询

查询结构用别名:Select 列 as 课程号 from 表;

查询当前时间:select now() as 时间from 表;

查询结果不重复:select distinct 列 from 表;

查询时可运算:select 列+1 工资 from 表;

5.2条件查询where in not in

Select id as 编号,pro as 职称 from teacher where pro in(“讲师”,”教授”);

5.3查询结果排序order by limit

Select 列 from 表 where 条件 order by 列asc/desc limit 3;

5.4分组查询 group by having

Select 列from 表 group by 列 having 条件

Select gender as 性别,count(distinct sno)as 人数 from 表 group by gender;男女分组计算人数

Select id as 学号,min(score) as 最低分from 表 group by id having min(score)>=70;找课程最低分大于70的学生的学号

六、连接

内连接:select a.*,b.* from 表1 a,表2 b where a.no=b.no;

外连接:select a.*,b.* from 表1 a left join表2 b on a.no=b.no where 条件;

七、子查询、视图

查询与李老师在同个学院(department)的所有老师

Select department_id,teacher_name from teacher where department_id=(select department_id from teacher where teacher_name=”李老师”);

创建视图

Create view 视图名 as select 列 from teacher;

查看视图

Show create view 视图名;

删除视图

Drop view 视图名;

更改视图

Alter view 视图 as select*from 表名;

Update 视图名 set where更改

更新时附加限制:With check option

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值