I LOVE MYSQL day01

目录

1,数据库理解

1,数据库的基本概念

2,数据库分类

3,相关概念

4,基本命令

2,数据库操作

1,操作数据库

2,数据库的列类型

3,数据库的字段属性

4,创建数据表

5、数据库存储引擎

6,修改数据库

1,修改

2,删除 

3,mysql数据管理

1,外键


1,数据库理解

1,数据库的基本概念

1,数据库英文:Database 简称DB

2,数据库作用:用于存储和管理数据的仓库

3,数据库的特点:

  • 持久化存储数据的,其实数据库就是一个文件系统。
  • 方便存储和管理数据。
  • 使用了统一的方式来操作数据库。

4,常见的数据库软件

总而言之:数据仓库,软件,安装在操作系统之上

2,数据库分类

1,关系型数据库:SQL

  • 通过表与表之间,行和列之间进行数据的存储
  • 通过外间关联来建立表与表之间的联系,

2,非关系型数据库:NoSQL

  • 数据通过对象存储在数据库中,每个数据的关联是通过对象的属性来决定

3,相关概念

DBMS(数据库管理系统)

可以科学的有效的维护我们的数据。而mysql就是数据库的管理系统

4,基本命令

语句要用分号结尾

  • show databases;    --查看当前所有的数据库
  • show database like '匹配模式'; --查看部分数据库

_匹配当前位置单个字符

%匹配指定位置多个字符

获取以my开头的全部数据库: ‘my%’

获取以my结尾的数据库:‘%database’

  • use 数据库名;    --打开指定的数据库
  • show tables;    --查看所有的表
  • describe/desc 表名;    --显示表的信息
  • create database 数据库名;    --创建一个数据库
  • exit    --退出连接
  • 注释

1,--        --单行注释
2,#        --单行注释

3,/*...*/        --多行注释

2,数据库操作

1,操作数据库

1、创建数据库

create database[IF NOT EXISTS]  数据库名;


2、删除数据库 

drop database [if EXISTS] 数据库名;


3、使用数据库

--如果表名或者字段名是特殊字符,则需要带``
use 数据库名;


4、查看数据库

show databases;

2,数据库的列类型

  • 数值

  •  字符串

  •  时间日期

  •  null

没有值,未知。

不要用null值进行计算

3,数据库的字段属性

UnSigned

  • 无符号的
  • 声明了该列不能为负数

ZEROFILL

  • 0填充的
  • 不足位数的用0来填充 , 如int(3),5则为005

Auto_InCrement

  • 通常理解为自增,自动在上一条记录的基础上默认+1
  • 通常用来设计唯一的主键,必须是整数类型
  • 可定义起始值和步长
  • 当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
  • SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)

NULL 和 NOT NULL

  • 默认为NULL , 即没有插入该列的数值
  • 如果设置为NOT NULL , 则该列必须有值

DEFAULT

  • 默认的
  • 用于设置默认值
     

4,创建数据表

每一个表,都应该存在以下5个字段

 格式

create table if not exists `student`(
	'字段名' 列类型 [属性] [索引] [注释],
    '字段名' 列类型 [属性] [索引] [注释],
    ......
    '字段名' 列类型 [属性] [索引] [注释]
)[表的类型][字符集设置][注释]

 创建一个数据库表

create table if not exists `student`(
    `id` int(4)    not null auto_increment comment '学号',
    `name` varchar(30) not null default '匿名' comment '姓名',
    `pwd` varchar(20) not null default '123456' comment '密码',
    `sex` varchar(2) not null default '女' comment '性别',
    `birthday` detetime default null comment '出生日期',
    `address` varchar(100) default null comment '家庭住址',
    `email` varchar(50) default null comment '邮箱',
    primary key (`id`)
)engine=innodb default charset=utf8

  

 注意

  • 表名和字段尽量使用``括起来

  • AUTO_INCREMENT 代表自增

  • 所有的语句后面加逗号,最后一个不加

  • 字符串使用单引号括起来

  • 主键的声明一般放在最后,便于查看

  • 不设置字符集编码的话,会使用MySQL默认的字符集编码Latin1,不支持中文,可以在my.ini里修改

5、数据库存储引擎

mysql数据表以文件方式存放在磁盘中

INNODB

  • 默认使用,安全性高,支持事务的处理,多表多用户操作

MYISAM

  • 早些年使用,节约空间,速度较快

MySQL在文件引擎上区别:

  • INNODB数据库文件类型就包括**.frm**、.ibd以及在上一级目录的ibdata1文件
  • MYISAM存储引擎,数据库文件类型就包括
    • .frm:表结构定义文件
    • .MYD:数据文件
    • .MYI:索引文件

6,修改数据库

1,修改

修改表名

 alter table 旧表名 rename as 新表名

添加字段 :

alter table 表名 add 字段名 列属性[属性]

修改字段 

alter table 表名 modify 字段名 列类型[属性]
alter table 表名 change 旧字段名 新字段名 列属性[属性]

删除字段

alter  table 表名drop 字段名

 

2,删除 

语法:drop table [if exists] 表名

if exists为可选 , 判断是否存在该数据表
如删除不存在的数据表会抛出错误


-- 删除表(如果存在再删除)
drop table if exists teachers;



所有的创建和删除尽量加上判断,以免报错

3,mysql数据管理

1,外键

  • 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。
  • 在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。

外键作用:

  • 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。使两张表形成关联,外键只能引用外表中的列的值或使用空值。


 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值