MySQL基础1

时间:2024-01-22 17:45:06

数据库定义(DB: DataBase):

  依照某种数据模型进行组织,并存放到计算机存储设备中的集合。

主流的DBMS系统:

  Oracle: Oracle,Mysql
  Microsoft: SQL server
  IBM: DB2
  Sybase: Sybase
  加州大学伯克利分校

数据管理的三个阶段:

数据,程序绑定在一起
  -管理简单
  -缺点:数据不能贡献,不能单独保存

文件管理系统:
  -数据保存在文件,单独存放在外部存储设备
  -优点: 能够实现数据共享,数据和程序分离
  -缺点:数据联系较弱,数据冗余,一致性差

数据库管理阶段:
  -单独使用一套软件,进行数据的管理
  -优点:
  数据库独立共享,冗余度低
  提供方便友好的接口
  更强的安全性,可靠性
  提供了丰富的工具(性能优化,备份恢复)

数据库的概念模型:

  a)层次模型

  b)网状模型

  c)关系模型

    -当前主流模型

    -使用二维表(关系)表示数据,数据之间的联系

  d)非关系模型

关系术语:
  -实体:现实中可以区分的事物(对象)
  -关系:规范的二维表,每一列都不可再分
  -元祖:表中的一行叫元祖,表示一个实体信息
  -属性:表中的一列,描述一个实体的某个数据值也称为‘字段’

  -键(Key):可以唯一区分实体的属性,称为键
  -主键(primary Key):多个键中选取一个作为主键从逻辑上唯一区分一个实体,主键非空,不重复

关系模型的优点:

  - 建立在严格的数学理论知识
  - 概念简单,单一,结构清晰能够用简单的模型表达出复杂的数据关系

2.MySQL简介:

1)开源的,使用广泛的关系型数据库MariaDB,与MySQL兼容
2)特点
  -开源,成本低
  -体积小,速度快
  -支持主流的操作系统,UNIX/Linux/windows等
  -使用的c/c++编写,可移植性强,
  -支持丰富的编程语言接口、C,C++,Python,Java,PHP
3)版本
  -社区版:开源免费,不提供官方支持
  -企业版:付费版
  -集群版:开源免费,将多台服务器封装成一个逻辑上的服务器
  -高级集群版:付费版

MySQL操作:

1)sql语言:结构化查询语言(structured Query Language)
2)功能: 用来对DBMS系统进行操作 库,表管理数据的增、删、改、查(CRUD操作)

3)特点:  

  不区分大小写,对大小写不敏感
  不支持TAB自动补齐
  以(分号);结束
  使用\c可以废弃写错了的语句
4)库操作:
  -查看库 :show databases;
  -创建库 :create database 库名称 charset = 字符集
示例:创建名称为bank的库,使用utf8字符集
create database bank default charset = utf8;

  -查看当前库:select database();

  -删除数据库: drop database bank;

  -进入/切换库: use 库名称

  eg:use bank;

5)库中包含的内容
  -库中包含表、视图(View)、索引(Index)、触发器(Trigger)、存储过程(sp)、用户(user)
  -命名规范:
    1、由字符,数字,下划线构成。不能全是数字
    2、库名称区分大小写
    3、库名称必须唯一
    4、避开MySQL的关键字

6)表操作(重点!!!)
a)创建表
  create table 表名称(
  字段1 类型(长度) 约束,
  字段2 类型(长度) 约束,
  ...
  )default charset=字符集;
注意:语句中除了注释的部分,不能出现中文字符,括号必须匹配,并且嵌套正确,最好成对书写
data日期类型


查询数据:
-格式:
  select * from 表名[where 条件]
  select 字段列表 from 表名 [where 条件]

- 示例1:查询全部字段
  select * from acct;

- 示例2:指定字段查询部分字段
  select acct_no,acct_name,balance form acct;

- 示例3: 查询指定字段,并且为字段起名字
  select acct_no "账号",
  acct_name "户名",
  balance "余额"
  from acct;

mysql 数据类型:
1)主要数据类型:
  - 数值类型:整数,浮点数
  - 字符类型
  - 日期时间
  - 枚举类型: 值相对较少,范围较固定
2) 数值类型
  - 整数 : TINYINT(1字节) SMALLINT(2字节)int(4字节), BIGINT(8字节)
  - 浮点: Decimal 长度可变,精确数字,可指定小数位数
  Decimal(16,2) 表示最长16位,小数2位
3) 字符串类型
  -char: 定长字符串最大保存255字符,如果长度不足,使用空格填充,超过规定长度,无法存入
  -varchar: 可变长字符串(使用最多),最大可保存65535个字符按照实际大小分配存储空间字符超过最大长度,无法写入

4)枚举类型