数据库--mysql基础(一)

一.数据和数据库


1.什么是数据?

客观事物的符号表示.

2.数据分类

结构化数据:可以通过统一格式来进行管理数据

非结构化数据:不能通过统一格式表示

半结构化数据:介于两者之间-例如:xml

3.什么叫数据库(DB:Database)?

按照数据结构存储数据的仓库

4.数据库管理系统(DBMS:database management system)

操作和管理数据软件

5.数据库管理系统分类

关系型数据库管理系统    (RDBMS:Relationship)----处理结构化数据.

常见的关系型数据库:

oracle:oracle公司,大型性分布式数据库管理系统.产品免费,但是服务收费(按cpu核数收费)

mysql:oracle公司,主流互联网公司(在MySQL基础上修改的版本),开源免费(GPL:开源软件的许可证)

sql server:microsoft公司,中小型数据库管理系统

db2:ibm公司,中小型,开源免费

非关系型数据库管理系统:(Nosql:not only sql)----高并发,高可靠,高性能;nosql是对关系型数据库的补充,不是替代

常见的非关系型数据库:

redis/hbase/mongdb/neo4j(图,社交网络  脉脉)


二.MySQL


1.mysql介绍

mysql ab公司关系型数据库管理系统(数据库,数据库表)

mysql 中可以管理多个数据库,每个数据库中管理多张表,数据存储在表中.

表:数据库表  采用二维表格形式实现数据的管理.表中行:称为记录;列:称为字段.

背景:

1996年,mysql 1.0

2000年,正式开源(GPL:开源软件许可证)

2008年,sun公司以10亿美元收购

2009年,sun公司被oracle以74亿美元收购

特点:

开源免费(开源不等于免费,开源只是源代码开源,可以修改等)

mysql相对来说比较小巧

支持的局数量比较大(5.7版本之后 每张表支持存储500万条记录)

2.mysql的下载和安装

下一篇博客专门整理一下.


三.sql


1.什么是sql(structed query language)

结构化查询语言。关系型数据库操作标准语言。

sql语言对大小写不敏感;

sql语句以分号结尾;

sql语句以分号结尾;

2.分类

DDL:数据定义语言(创建和维护数据库对象(数据库,表,视图,索引等)结构)

        create创建    /alter修改  /drop销毁    --对数据库本身和表

DML:数据操纵语言(对里面的数据的增删改查)

        insert添加  /delete删除  /update修改  /select修改

DCL:数据控制语言(授权及取消授权)

        grant授权  /revoke取消授权

TCL(transaction):事务控制语言

        commit提交  /rollback回滚

3..DDL:数据定义语言(创建和维护数据库对象(数据库,表,视图,索引..)结构)

3.1对数据库的操作

创建数据库

CREATE DATABASE 名字;

    例如:CREATE DATABASE [if not exists] db1808;

销毁数据库

DROP DATABASE 名字;

    例如:DROP DATABASE [if exists] db1808;

3.2对表的操作

表:table,数据库表    二维关系模型管理数据        行:称为记录;列:称为字段

创建表

通过下面例子大体了解一下:

CREATE TABLE student(
    sname varchar(20),
    sex varchar(20),
    age int
);

创建表的一些细节:

CREATE TABLE `user`(	#--``反引号来区分关键字
    uname varchar(15),
    uage int,
    usex bit(1),	#-- 数据库中一般用这个来表示性别,一个bit位
    tel varchar(11),
    ubir date
);

3.3数据类型

1.数值类型

整型数据:int(tinyint,smallint,bigint,这三个了解一下就可以了)

浮点数:

float(m,n):m 代表长度;n 代表小数点位数        4个字节

double(m,n):m 代表长度;n 代表小数点位数    8个字节

decimal(m,n):m 代表长度;n 代表小数点位数(不会产生精度的丢失,比如价格等 和金额相关的)   

2.日期类型:

date:日期

time:时间

datetime:时间和日期    1000-9999-->年份的范围和下面的时间戳区分

timestamp:时间戳    1970-2038

year:年份...

3.字符串:

varchar(n):可变长字符串--最长n个字符

char(n):定长字符串,每个固定长度是n字符

text:大文本

4.其他类型:

blob:存储二进制数据(图片,音频,视频)--需要注意的是:数据库很少存视频,一般都是存储视频的地址

enum:枚举类型

set:集合

Json:json类型 比较主流的数据传输的一种格式(本质是个字符串)

3.4表结构的修改(添加字段,删除字段,修改字段:字段名称,字段长度,长度,位置,约束等)

添加字段:(add)

ALTER TABLE student ADD tel VARCHAR(11);#--追加,添加到表末尾
#查看表结构:
DESC student;
	    
#字段名称 字段类型(长度) 约束(描述信息) #--只要是字段都可以这种模式

#添加email字段到表首--first
ALTER TABLE student ADD email VARCHAR(20) first;
		
#放置字段到第X列
#例如添加身高到email之后--after XX
ALTER TABLE student ADD height DOUBLE(4,1) AFTER email;

删除字段(DROP)

#删除身高字段
ALTER TABLE student DROP height;

修改字段(modify/change)

modify : modify 字段名称 新类型 新约束

change : change 旧字段 新字段 新类型 新约束

#1.修改字段的名称--只能用change
#修改student表的sname字段的名称为ssname.

ALTER TABLE student CHANGE sname ssname VARCHAR(20);

#2.修改字段的类型和长度--两个都可以
#修改ssname字段的长度为50

ALTER TABLE student MODIFY ssname VARCHAR(50);

#3.修改字段位置
#将age放到ssname的后面

ALTER TABLE student MODIFY age int AFTER ssname;

3.5表名称的修改:

将student表名称改为stu;

RENAME TABLE student TO stu;

3.6表的销毁

DROP TABLE student;

 


总结一下必记的概念:

数据库(database):按照数据结构存储数据的仓库

数据库管理系统(DBMS):操作数据库软件

数据库管理系统的分类:关系型数据库管理系统(RDBMS);非关系型数据库管理系统(Nosql)

sql:结构化查询语言,关系型数据库的通用语言

sql的分类:

    DDL:数据定义语言 create alter DROP

    DCL:数据控制语言 grant revoke

    DML:数据操纵语言 insert update delete select

    TCL:事务控制语言 commit rollback

数据库的操作:

    创建数据库 create database 名字

    销毁数据库 DROP database 名字

数据库表的操作

数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值