MySQL数据库学习笔记

  1.MySQL的存储引擎
  存储引擎就是如何存储数据、如何更新数据、如何查询数据、如何为存储的数据建立索引等一系列技术的实现方法。
  使用如下语句查询MySQL的存储引擎
  SHOW ENGINES;https://www.cqxftyyj.com
  下面是关于MySQL存储引擎的简单介绍:
  存储引擎描述
  MyISAM拥有较快的插入、查询速度,但不持支事务
  InnoDB支持ACID事务,支持行级锁,支持外键;MySQL5.5版本后默认的存储引擎
  MRG_MYISAM将一组结构相同的MyISAM表聚合成一个整体,再进行增删改查操作
  Memory所有数据存储在内存中,响应快;MySQL重启时数据会全部丢失
  Archive归档,且有压缩机制,适用于历史数据归档
  CSV逻辑上由逗号分隔数据,会为每张表创建一个.csv文件
  2.MySQL的数据类型
  MySQL的数据类型大致可以分为3类,数值、日期/时间和字符串(字符)和二进制数据类型。
  数值类型:
  数据类型所占字节数说明
  TINYINT 1小整数值
  SMALLINT 2大整数值
  MEDIUMINT 3大整数值
  INT(或INTEGER)4大整数值
  BIGINT 8大整数值
  FLOAT 4单精度浮点数
  DOUBLE 8双精度浮点数
  DECIMAL Max(D+,M+)含小数值,例如金额,一般使用DECIMAL(8,2)
  注意:所有的整数数据类型都可以有符号和无符号。有符号可以存储正数和负数,无符号则只能存储正数,默认情况下为有符号,如果想设置为无符号的,可以使用关键字UNSIGNED。
  日期和时间类型
  数据类型所占字节数说明
  DATA 3格式为YYYY-MM-DD
  TIME 3格式为HH:MM:SS
  YEAR 1用两位数字表示,范围为70(1970年)~69(2069年),用四位表示,范围时1991年~2155年
  DATATIME 8格式为YYYY-MM-DD HH:MM:SS
  TIMESTAMP 8格式为YYYYMMDDHHMMSS
  字符串类型
  MySQL中有两种字符串类型,分别为定长串和变长串。
  定长串是指接受固定长度的字符串,其长度在创建表时指定。
  变长串是指存储长度可变的文本,有些变长串指定了最大的定长,有些没有指定,不管是哪种。只有指定的数据得到保存。
  MySQL处理定长列远比处理变长列快得多!
  数据类型所占字节数说明
  CHAR 0~255定长串,它的长度必须在创建时被指定,否则会被假定为CHAR(1)
  VARCHAR 0~255长度可变,最多存储255个字节。如果创建时指定VARCHAR(n),则可存储0~n个字符的变长串(n<255)
  TEXT 0~64K最大长度为64K的变长文本
  LONGTEXT 0~4G与TEXT相同,但最大长度为4G
  MEDIUMTEXT 0~16K与TEXT相同,但最大长度为16K
  注意:不管使用何种形式的字符串数据类型,字符串都必须括在引号内(通常单引号更好)。
  二进制数据类型
  二进制数据可以以二进制的形式存储任何数据,包括图像、多媒体、Word等等。
  数据类型所占字节数说明
  BLOB 0~64K Blob最大长度为64K
  MEDIUMBLOL 0~16M Blob最大长度为16M
  LONGBLOB 0~4G Blob最大长度为4G
  TINYBLOB 0~255 Blob最大长度为255字节
  3.MySQL数据表的创建、删除和修改
  创建数据表
  CREATE[TEMPORARY]TABLE[IF NOT EXISTS]table_name[(create_definition,…)][table_options]
  [select_statement]
  TEMPORARY:表示创建临时表,会话结束后自动消失。
  IF NOT EXISTS:建表前判断是否存在,只有不存在时才创建。
  create_definition:定义表中各列的属性。
  table_options:表的配置选项,如表的默认存储引擎、字符集等
  select_statement:通过select语句建表
  比如创建一个学生表,表中有学生的学号、姓名、性别、住址和电话
  则可以使用下边的SQL语句创建这个学生表:
  CREATE TABLE IF NOT EXISTS my_student(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(20),
  sex TINYINT,
  address VARCHAR(40),
  phone CHAR(11));
  这里NOT NULL表示该字段不能为空,AUTO_INCREMENT表示自动增长,PRIMARY KEY表明该字段为主键。也可以使用关键字DEFAULT指定默认值。
  查看当前数据库的所有表
  SHOW TABLES;
  1
  显示某个表中的数据结构
  DESC my_student;
  1
  下图就是刚才所创建的表中的结构:
  修改表中字段的属性
  ALTER TABLE表名ADD字段名称数据类型;#添加字段(列)
  ALTER TABLE表名MODIFY字段名称数据类型;#修改字段(列)
  ALTER TABLE表名DROP COLUMN字段名称;#删除字段(列)
  比如这里我想执行下面的操作
  删除列电话号码
  添加一组为班级的列
  修改性别字段,将tinyint改为char(1)类型
  可以执行如下SQL语句:
  ALTER TABLE my_student DROP COLUMN phone;#删除字段
  ALTER TABLE my_student ADD classNumber VARCHAR(10);#添加字段
  ALTER TABLE my_student MODIFY sex char(1);#修改字段

posted @ 2020-05-16 09:38  赵sir阿  阅读(148)  评论(0编辑  收藏  举报
友情链接: 3721家电维修 管道疏通 家电清洗 家电维修平台