mysql01

1. 数据

1) 概念

客观事物的符号表示。

2) 数据量庞大,介质

  u 硬盘 网盘

   存储数据量越来越大,检索难度增高。

3) 数据库(Database)

按照一定数据结构存储数据的仓库。

4) 数据库管理系统(DBMS)

操纵和管理数据库的一套软件。

A. 关系型数据库管理系统(RDBMS)

采用关系模型管理数据。采用二维表格的形式来简化数据关系实现对数据的管理。

oracle数据库:  oracle公司,大型分布式数据库管理系统。

大型企业,金融,传统企业,国企等.    产品免费,服务收费

mysql数据库:  oracle公司,针对于中小型系统。

开源免费  (闭源风险)

互联网厂商

         mariaDB数据库: mysql分支,社区维护。

  5.5版本之前。

sql server: microsoft中小型企业。只运行于windows。

db2: ibm公司,中小型。

B. 非关系型的数据库管理系统(Nosql)

Not only sql

弥补关系型数据库在高io,高可用方面的局限性。

redis /  hbase / mongodb / neo4j(图数据库)

2. Mysql

1) mysql初识

mysql是一个关系型的数据库管理系统。

mysql采用关系模型对数据采用分表的形式管理,对多张表存在情况下,可以采用分库的形式进行管理。

mysql数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表。

mysql体积小,速度快,开源免费,支持GPL(开源软件许可证)协议。

1996年发布mysql1.0,mysql ab公司。

2000年正式开源。

2008年被sun以10亿美元收购。

2009sun被oracle以74亿美元收购。

5) mysql的下载和安装

 www.mysql.com

www.oracle.com

6) 配置

data dir:存放数据文件

    Data:

   每创建一个数据库就会创建相应的文件夹

   frm保存表的结构信息

my.ini: mysql的配置文件

7) 客户端

workbeanch:mysql自带图形界面

命令行客户端:

    登录/连接服务端:  mysql -uroot -p密码

展示所有的数据库:  show databases;

       切换数据库: use dbname;

       展示所有数据库表:  show tables;

       启动和关闭服务: net start|stop mysql

   图形界面客户端:

navicat  sqlyog等

   主机映射文件:  C:WindowsSystem32driversetchosts

表中每一行称为记录,每列名称称为字段。

3. sql

1) 什么是sql

structure query language:结构化查询语言。关系型数据库中进行操作标准语言。编程语言。

对大小写不敏感;结尾需要使用;。

8) sql分类

DDL: 数据定义语言(数据库对象的操作(结构))

create / alter /drop

DML: 数据操纵语言(数据操作 增删改查)

insert / update /delete /select

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

grant / revoke

TCL: 事务控制语言

commit / rollback

9) ddl:数据定义语言

A. 数据库操作

#创建数据库

create database if not exists bd1807;

#销毁数据库

drop database if exists bd1807;

C. 数据库表操作(table)

数据库表(表):采用二维表格形式管理数据。

#创建表

create table userinfo(

   uid int,

 uname varchar(20),

 gender varchar(10)

);

#追加

alter table userinfo add qq varchar(20);

#添加到首位

alter table userinfo add wechat varchar(20) first;

#添加到uid之后

alter table userinfo add renren varchar(20) after uid;

# 表结构修改(添加字段add  修改字段名称,类型修改,位置(change/modify)  销毁字段 drop)

#追加

alter table userinfo add qq varchar(20);

#添加到首位

alter table userinfo add wechat varchar(20) first;

#添加到uid之后

alter table userinfo add renren varchar(20) after uid;

#删除字段

alter table userinfo drop renren;

alter table userinfo drop wechat;

#字段修改

#修改字段名称 qq -> t_qq

                    #modify 字段名称 类型 约束

                    #change 旧字段  新字段名称 类型 约束

alter table userinfo change qq t_qq varchar(20);

#修改字段类型

alter table userinfo change t_qq t_qq varchar(10);

alter table userinfo modify t_qq varchar(20);

#修改字段位置

alter table userinfo modify t_qq varchar(20) after birthday;

#表名称修改

rename table userinfo to user;

#表销毁

drop table `user`;

#清空表

TRUNCATE table userinfo;

 数据类型:

数值类型:

int  4个字节  21亿

   浮点数:

     float(m,n):m总长度  n小数点位数   (默认值10,2)

精度24位

     double(m,n):  默认值16,4

精度53位

     decimal(m,n):经常用于金融数据保存,必须声明长度和精度

字符串类型:

char(n):定长长度字符串

   varchar(n):可变长度字符串

   text: 大文本

日期类型:

date: 日期  YYYY-MM-DD

   time: 时间  HH:MM:SS

datetime: 日期时间 YYYY-MM-DD HH:MM:SS

  1000-01-01 00:00:00 – 9999-12-31 23:59:59

   timestamp:时间戳 YYYYMMSSHHMMSS

  1970-01 – 2037-12

   year:年

其他类型:

blob: 存放二进制数据

   enum: 枚举

   set:集合类型

   json: json数据

   

   

原文地址:https://www.cnblogs.com/fax1996/p/9527834.html