zoukankan      html  css  js  c++  java
  • day39

    今日内容:

      1.对于表,库,记录的基本操作

      2.数据库引擎的了解

      3.表的详细

      4.数据类型的掌握

    1.回顾昨日对于表,库,记录的基本操作

      库

        增:

          create database mydb2;

          

        删:drop database mydb2;

          

        改:alter database mydb2 charset utf8;

          

        查:show databases;

          

          show create database mydb2;

          

      表:

        增:

          方式一:

          create table mydb2.t1 (id int);

          

          方式二:

          use mydb2

          create table t2 (id int);

          

        删:

           drop table t2;

          

        改:

          alter table t1 add name char(5);

          

          alter table t1 modify name char(10);

          

          alter table t1 change name NAME char(10);

          

           alter table t1 drop name;

          

        查:

          desc t1;

          

          show tables;

          

          show create table t1;

          

      记录:

        增:

          insert into t1 value(1);

          

          insert into t1 values(2),(3);

          

        删:

          delete from t1  where id = 1;

          

          delete from t1;

          

          truncate t1;

          

        改:

          update t1 set id=4 where id=1;

          

          update t1 set id =5;

          

        查:

          select * from t1;

          

          select id from t1;

          

    2.数据库引擎的了解

      什么是引擎?

        一个功能(mysql核心功能就是存储数据)的核心部分,引擎可以被分类

      为什么要被分类?

        为了让这个功能更加适合用户的需求

      show engines;#用来查看数据库的引擎InnoDB是我这个MySQL默认的引擎(指的是用InnoDB这个存储格式来存储数据)

        

      我们可以根据我们的要求来选择引擎创建表

      create table t2 (id int) engine = blackhole;

      

    3.表的详细

       创建表的完整语法: create table 表名(字段名称 数据类型(长度) 约束条件);

      create table t3 (id int,name char(5) not null);

      

      长度用于设置数据的长度(如果添加的数据超过了指定的长度范围,超出范围的就会被丢弃)

      数据类型也是一种约束

      约束值得是除了数据类型外的规范

      注意:字段名和表名 库名 都不能是MySQL的关键字

    4.数据类型的掌握

      为什么需要将数据分类

        1.为了描述事物更加准确

        2.描述起来更加方便

        3.节省内存空间

       MySQL支持的数据类型:

        整型:(默认情况下整型是有符号的,需要一个二进制位存放符号)unsigned设置约束无符号

        tinyint(字节数:1)、samllint(字节数:2)、int(字节数:3)、mediumint(字节数:4)、bigint(字节数:8)

        特性:如果数据超出范围就尽可能保存最大的

        特性的出现,是因为MySQL处于非严格模式

          查看当前模式 show variables like "sql_mode"

          修改为严格模式set global sql_mode = "STRICT_TRANS_TABLES"

          严格模式下,值超出范围则报错

        浮点型:

        float(字节数:4)、double(字节数:8)、decimal(字节数:不确定,需要手动指定)

        给浮点设置宽度限制:

          float(m,d) 

          double(m,d)

          decimal(m,d)

          m并表示这个浮点整体的长度

          d表示小数部分的长度

        相同点:

          都是小数,小数部分的最大长度是30

          float和double 的最大整体长度为255

        不同点:

          decimal 整体长度最大为65

          精度不同:double > float

          decimal 精度是准确的 不会丢失精度

        字符串型:

          char(定长字符:长度是固定的 无论你存储的数据有多长 占用的容量都是一样的)

            存取效率高,但是浪费空间

          varchar(变长字符:长度是可变的,存的数据有多长就占用多长)

            存取效率低于char,节省存储空间

        时间日期:

          time 时分秒

          year 年份

          date 日期

          datetime 年月日时分秒

          举例:create table t3 (id int,时间 time);

            

        布尔类型

          可以用别的类型来代替

        集合枚举

          set 多选多

          enum多选一

          举例: create table t1 (id int(5),name char(10),sex enum("男","女"),hobby set("read","run","watch TV"));

          

          

  • 相关阅读:
    [转]CR, LF, CR/LF区别与关系
    [转]Maven与nexus关系
    [转]Ubuntu默认使用root用户登录并免去输入密码
    [转]PL/SQL Developer 导入导出csv文件
    [转]关于胖客户端和瘦客户端的理解
    解决win7 安装完jdk7后,再安装jdk8出现的问题 has value '1.8', but '1.7' is required.
    [转]10 Awesome Indicator Applets for Ubuntu’s Unity Desktop
    简单的多对一传输ns2仿真
    论文阅读笔记 (2007-06-09)
    一个简单的ns2实验全过程
  • 原文地址:https://www.cnblogs.com/yaoxiaofeng/p/9637129.html
Copyright © 2011-2022 走看看