认识MySQL数据库

  1. MySQL简介
    MySQL是一种开放源代码的关系型数据库管理系统。
  • MySQL优势:
    运行速度快。MySQL体积小,命令执行的速度快。
    使用成本低。MySQL开源,提供免费版本。
    可移植性强。可以运行于多种系统平台上。
    适用于更多用户。适用于中小型企业。
  1. SQL的组成
  • DML:数据操作语言,也称为数据操纵语言,用来插入、修改、和删除数据库中的数据。
  • DDL:数据定义语言,用来建立数据库,数据库对象,定义数据表结构等,大部分是以create开头的命令。
  • DQL:数据查询语言,用来对数据库中的数据进行查询。
  • DCL:数据控制语言,用来控制数据库组件的存取许可,存取权限等
  1. SQL中的运算符
  • 算术运算符
    算术运算符包括:+(加) 、—(减) 、*(乘) 、/(除)、%(取模)
    
  • 赋值运算符:SQL有一个赋值运算符,即“ = ”(等号)。
    
  • 比较运算符
    比较运算符用来判断两个表达式的大小关系,运算结果为布尔类型。
    =:等于、>:大于、<:小于、<>或!=:不等于、>=:大于等于、<=:小于等于。
    
  • 逻辑运算符:
    逻辑运算符用来对某个条件进行判断、以获得判断条件的真假。返回带有true或false值的布尔数据类型。
    and : 当且仅当两个布尔表达式都为true时,返回true。
    or :当且仅当两个布尔表达式都为false时,返回false。
    not:取反,对布尔表达式的值取反,优先级别最高。
    例如:NOT(性别 = '男')AND(年龄 >= 18 AND 年龄 <= 45)即:年龄在18~45岁之间的非男性
    
  1. 数据库基本操作
  • 创建数据库
    语法:CREATE DATABASE 数据库名;
    在MySQL中以英文半角分号(;)作为一条命令的结束。
  • 查看数据库列表
    语法:SHOW DATABASES;
  • 选择数据库
    语法:USE 数据库名;
  • 删除数据库
    语法:DROP DATABASE 数据库名;
  1. 数据类型
  • 数值类型
    TINYINT[(M)]:1字节
    SMALLINT[(M)]:2字节
    MEDIUMINT[(M)]:3字节
    INT[(M)]:4字节
    FLOAT[(M,D)]:4字节
    DOUBLE[(M,D)]:8字节
    DECIMAL[(M,D)]:M+2字节
    M:最大精度位数即总位数,M的取值范围是165,默认值为10,(M表示显示宽度)D:小数位精度位数,D的取值范围是030;
  • 字符串类型
    CHAR[(M)]:M字节,固定长度。
    VARCHAR[(M)]:可变长度。
    TINYTEXT:0~255。微型文本串。
    TEXT:0~65535。文本串。
  • 日期类型
    DATE:日期 YYYY-MM-DD
    TIME:时间 hh:mm:ss
    DATETIME:日期时间 YYYY-MM-DD hh:mm:ss
    TIMESTAMP:YYYYMMDDHHMMSS 1970年某时刻~2038年某时刻,精度为一秒。
    YEAR:YYYY格式的年份。
    列出常用的数据格式、更多详细的数据类型、时间类型请百度。
  1. 注释类型
    当行注释:#。。。
    多行注释://

  2. 创建表
    语法:CREATE TABLE [IF NOT EXISTS]表名(
    字段1 数据类型 [字段属性] [约束] [索引] [注释],
    字段2 数据类型 [字段属性] [约束] [索引] [注释],

    )[表类型] [表字符集] [注释]
    在MySQL中,如果使用的数据库名,表名或字段名等与保留字冲突,需要使用反撇号括起来(`).在MySQL自动生成的代码中,表名或字段名等全部使用反撇号括起来。
    创建表时,多字段之间使用逗号分隔,最后一行无需逗号。
    表中的字段也称为列。

  3. 字段的约束及属性

  • 非空约束:NOT NULL
  • 默认约束:DEFAULT(为某字段赋默认值)
  • 唯一约束:UNIQUE KEY(设置字段的值是唯一的)
  • 主键约束:PRIMARY KEY
  • 外键约束:FOREIGN KEY
  • 自动增长:AUTO_INCREMENT(自增字段、可设置初始值和步长)
  1. 查看表
    语法:SHOW 表名;
    查看MySQL数据库的所有表。使用此语句之前必须先选择数据库。
  • 查看表的定义可以使用DESCRIBE来实现:
    DESCRIBF 表名 或 DESC 表名
    DOS窗口显示避免乱码设置编码格式的语法
    SET NAMES 编码名;
  1. 删除表
    语法:DROP TABLE [IF EXISTS] 表名;

  2. 修改表

  • 修改表名
    语法:ALTER TABLE 旧表名 RENAME [TO] 新表名;
  • 添加字段
    语法:ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
  • 修改属性
    语法:ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];
    由于不同类型的数据存储方式和长度不同,修改数据类型可能会影响数据表中已有的数据,因此,已有数据情况下不应轻易的修改数据类型。
  • 删除字段
    语法:ALTER TABLE 表名 DROP 字段名;
  • 添加主键约束
    语法:ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段)
  • 添加外键约束
    语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 关联表名(关联字段)
    在MySQL中,InnoDB存储类型的表支持外键,MyISAM存储类型的表不支持外键,因此对于MyISAM存储类型的表,也可以通过建立逻辑关联的方式来保证数据的完整性和一致性。
  1. HELP命令
    查看帮助的命令是HELP
    查看帮助文档目录:HELP contents;

  2. MySQL常用的存储引擎

  • MyISAM存储引擎
  • MyISAM存储引擎:该存储引擎不支持事务,也不支持外键约束,访问速度比较快。
    1. 增删改查比较慢,数据越多,写操作效率越低。
    2. 使用该数据引擎会生成三个文件:
    .frm:表结构信息(比如表的名字、字段、字段类型、有什么限制等信息)
    .MYD:数据文件(真实的表数据)
    .MYI:表的索引信息(比如主键索引、普通索引、全文索引、复合索引等信息)
    
  • InnoDB存储引擎
  • 该存储引擎在事务处理上有优势,支持具有提交、回滚和崩溃恢复能力的事务控制,所以会占用更多磁盘空间。
    1. 支持事务
    2. 数据多版本读(InnoDB + MyISAM + INAM)
    3. 实现外键
    4. 锁定机制
    
  •  如何选择:
    1. 如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读写也挺频繁,请使用InnoDB。
    2. 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM
    3. MySQL5.5版本开始InnoDB已经成为MySQL的默认引擎(之前是MyISAM)
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值