MySQL 入门男篮世界杯赌球

复制代码 代码如下:on delete cascade

1.mysql是什么?
  mysql本质就是一个c/s架构的套接字软件

当你更新或删除主键表时,那么外键表也会跟随一起更新或删除,需要在建表时设置级联属性

2.数据库基本概念
  数据库服务器:运行有数据库管理软件的计算机
  数据库管理软件:mysql
  库:文件夹
  表:文件
  记录:文件中的一行的内容

CREATE TABLE Countries(CountryId INT PRIMARY KEY) INSERT INTO Countries (CountryId) VALUES (1) INSERT INTO Countries (CountryId) VALUES (2) INSERT INTO Countries (CountryId) VALUES (3)

3.针对库、表、记录的操作
  3.1 库文件夹:
    增:
      CREATE DATABASE 库名 CHARSET 编码;
    改:
      ALITER DATABASE 库名 CHARSET 编码;
    查:
      SHOW DATABASES;
      SHOW CREATE DATABASE 库名;
    删:
      DROP DATABASE 库名;

CREATE TABLE Cities( CityId INT PRIMARY KEY ,CountryId INT REFERENCES Countries ON DELETE CASCADE); INSERT INTO Cities VALUES(1,1) INSERT INTO Cities VALUES(2,1) INSERT INTO Cities VALUES(3,2)

  3.2 表文件:
    操作表前要先切换到库下:use 库名;
    建表的完整语法:
      CREATE TABLE 表名(
      字段名1 类型[(宽度) 约束条件],
      字段名2 类型[(宽度) 约束条件],
      字段名3 类型[(宽度) 约束条件]
      );

CREATE TABLE Buyers(CustomerId INT PRIMARY KEY ,CityId INT REFERENCES Cities ON DELETE CASCADE); INSERT INTO Buyers VALUES(1,1), INSERT INTO Buyers VALUES(2,1) INSERT INTO Buyers VALUES(3,2)

    增:
      CREATE TABLE 表名(字段名 类型,...);
    改:
      改字段类型约束条件:
        ALTER TABLE 表名 modify 字段名 类型(长度宽度);
      改字段名类型约束条件:
        ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度宽度);
    查:
      查看所有表:
        SHOW TABLES;
      查看指定表:
        SHOW CREATE TABLE t1;
      查看表结构:
        DESC 表名;
    删:
      DROP TABLE 表名;
    清空表:
      TRUNCATE 表名;
      #清空表应该使用TRUANCATE,不仅删除所有记录,而且将自增字段的值归0

此外还有级联更新on update cascade

  3.3 记录文件中一行行内容:
    增:
      方式一(指定字段名插入):
        INSERT INTO 表名 (字段名,字段名,...) VALUES (值1,值2,...),...;
      方式二(默认位置插入):
        INSERT INTO 表名 values (值1,值2,...),...;
    改:
      UPDATE 表名 SET 字段名=内容 where 条件;
男篮世界杯赌球,    查:
      SELECT 字段名 FROM 表名;
    删:
      DELETE FROM 表名 WHERE 条件;
      #DELETE 只能用于删除符合条件的某几条记录,不能用于清空表

4.存储引擎
  存储引擎就是表的类型
  不同的类型会对应不同的处理机制
  测试:
  CREATE TABLE t3(id INT)ENGINE='InnoDB';
  CREATE TABLE t4(id INT)ENGINE='MyISAM';
  CREATE TABLE t5(id INT)ENGINE='BLACKHOLE';
  CREATE TABLE t6(id INT)ENGINE='MEMORY';

  INSERT INTO t3 VALUES(1);
  INSERT INTO t4 VALUES(1);
  INSERT INTO t5 VALUES(1);
  INSERT INTO t6 VALUES(1);

5.数据类型
  PRIMARY         #主键(不能为空的意思)
  AUTO_INCREMENT  #自动增长
  DEFAULT         #默认值

  5.1 数字类型:整型(默认有符号),浮点型
  类型设置成无符号:unsigned
  #整型类型:数据类型宽度限制的是显示宽度而非存储宽度
  整型:
    TINYINT      #占1字节
    SMALLINT     #占2字节
    MEDIUMINT  #占3字节
    INT      #占4字节
    BIGINT          #占8字节
  浮点型:
    FLOAT                #占4字节
    DOUBLE            #占8字节
    DECIMAL           #手动指定字节

  5.2 字符类型:
    CHAR_LENGTH(字段名)   #用于查看某字段包含的字符个数

    CHAR      #定长
    VARCHAR    #变长

    例:
      CHAR(5)
        相同点:最大能存放5个字符
        不同点:假设传入3个字符,会补全2个字符
    #注意:
        针对CHAR类型,在存放时会将字符补全为5个,在查询时又会将末尾补全的空格去掉
        不让MySQL去掉末尾空格的方法:
          通过修改sql_mode,添加 SQL_PAD_CHAR_TO_FULL_LENGTH
    VARCHAR(5)
      相同点:最大能存放5个字符
      不同点:假设传入3个字符,就存3个字符

    LIKE:
      WHERE 字段名 LIKE
      LIKE是模糊匹配
      %:任意个数的任意字符
      _:1个任意字符

    大文本类型:
      TEXT系列(文本是带有编码)
      TINYTEXT
      TEXT
      MEDIUMTEXT
      LONGTEXT
      BLOB系列(也是字符数据,但是不带编码)
      TINYBLOB
      BLOB
      MEDIUMBLOB
      LONGBLOB
    二进制类型:
      BINARY系列(存储二进制数据)
      BINARY
      VARBINARY

  5.3 日期类型:TIME,DATE,DATETIME,TIMESTAMP,YEAR,
    NOW() #此函数用于获取当前时间

  5.4 枚举类型:
    ENUM #多选一
  5.5 集合类型:
    SET #多选多

6.表操作之约束条件
  约束条件:约束条件是在类型之外为字段附加的限制
  强调:如果表的类型为InnoDB储存引擎,在创建表时,必须定义一个主键
  如果不指定,InnoDB存储引擎会自上而下寻找一个不为空且唯一的字段当做主键
  如果不指定并且也没有NOT NULL UNIQUE的字段,那么InnoDB存储引擎会生成一个隐藏的字段当做主键
  PRIMARY KEY    #标识该字段为该表的主键,可以唯一的标识记录
    单从约束角度去看,主键的约束效果是NOT NULL UNIQUE

本文由美洲杯赌球发布于计算机教程,转载请注明出处:MySQL 入门男篮世界杯赌球

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。