学习笔记 MySQL

MySQL数据库(一)

一,数据库概述

1,概述

特指计算机软件的一种

2,数据库的分类

  • 关系型数据库(SQL), 由多张互相连接的二维行列表组成的数据库

    优点:

    • 容易理解
    • 使用方便
    • 易于维护

    缺点:

    • i/o瓶颈
    • 扩展性不够
  • 非关系型数据库NoSQL

    分类:

    • 列式存储
    • key-value 键值型高性能并发读写
    • 文档存储 mongodb

缺点:学习成本高 ,不同数据库操作完全不同

二,MySQL介绍

1,简介

MySQL是一个关键型数据库管理系统

在WEB应用方面

特点:

  • 开源
  • 支持大型数据库
  • 使用标准的SQL
  • 兼容好, 支持多种语言

2,MySQL中的数据结构

表结构:

  • 表头:每一列的名称
  • 列:具有相同数据类型的数据的集合
  • 行:一条记录
  • 值:
  • 键:

3,数据类型

三大类:

  1. 数值

    类型大小范围(有符号)范围(无符号)用途
    TINYINT1 字节(-128,127)(0,255)小整数值
    SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
    MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
    INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
    BIGINT8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
    FLOAT4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度 浮点数值
    DOUBLE8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度 浮点数值
    DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值
  2. 时间日期

    类型大小 (字节)范围格式用途
    DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
    TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
    YEAR11901/2155YYYY年份值
    DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
    TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳
  3. 字符串

    类型大小用途
    CHAR0-255字节定长字符串
    VARCHAR0-65535 字节变长字符串
    TINYBLOB0-255字节不超过 255 个字符的二进制字符串
    TINYTEXT0-255字节短文本字符串
    BLOB0-65 535字节二进制形式的长文本数据
    TEXT0-65 535字节长文本数据
    MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
    MEDIUMTEXT0-16 777 215字节中等长度文本数据
    LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
    LONGTEXT0-4 294 967 295字节极大文本数据

三,MySQL的常用操作

1.MySQL的进入与退出
  1. mysql –uusername -ppassword
  2. mysql> exit
2.MySQL库级操作
  1. 显示所有的库 show databases;
  2. 创建数据库 create database 数据库名 charset=utf8;
  3. 删除数据库 drop database 数据库名;
  4. 选择数据库 use 数据名;
3.表级操作
  1. 显示所有的表 show tables;

  2. 创建表 create table 表名 (字段名 字段类型,字段2 类型, ...)

    create table student (
    id int unsigned primary key auto_increment,
    name varchar(20) not null,
    sex tinyint unsigned default 1,
    age tinyint unsigned 
    );
    
  3. 显示创表信息 show create table 表名;

  4. 显示表结构desc 表名;

  5. 删除表 drop table 表名;

语法总结:

  • 大小写:关键字不严格区分大小写,但是表名,库名大小写敏感
  • 语句结束符:默认情况下每个语句以分号结尾;
  • 类型:强制数据类型
  • 逗号:创建表的时候,最后一个字段后面别加逗号
4.数据操作

crud 操作 create read update delete

  1. 插入数据

    # 指定字段插入
    insert into 表名 (字段1, 字段2.....)
    				values
    				(value1, val2,...);
    # 全字段插入
    insert into 表名 values (all_values);
    
    # 多行插入
    insert into 表名 (字段1, 字段2.....)
    				values
    				(value1, val2,...),	
    				(value1, val2,...),	
    				(value1, val2,...);
  2. 查询数据

    select 字段1,字段2,.. from 表名 [where 子句];
    

    案例:

    • 指定字段查询
      select name, age from student;

    • 全字段查询

      select * from student;

    • 带条件的查询

      查询年龄等于18的学生

      select * from student where age=18;

  3. 更新数据

    update 表名 set 字段=新值, 字段2=新值2,... [where 子句];

    • 修改所有数据

      update student set sex=1;

    • 修改满足条件的数据

      update student set sex=1 where name='ww';

    • 修改多字段

      update student set sex=0, age=16 where id=2;

    总结:

    • 可以更新一个或多个字段
    • 可以在where子句中指定任意条件,不加条件慎用。
  4. 删除数据

    delete from 表名 [where 子句];

    • 删除满足条件的数据

      delete from student where id = 1;

    • 删掉所有数据

      delete from student;

    总结;

    1. 如果你没有指定where子句,表中所有的数据都会被删除
      1. where子句可以指定任何条件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值