zoukankan      html  css  js  c++  java
  • 数据库和表操作以及完整性约束

    一.库操作

    1.创建库

      create database 库名[charset utf8];  创建库[字符集为utf8] 默认为utf8

    2.查看库

      show databases;  查看所有库

      show create database 库名;  查看某个库的创建信息

      select database();  查看当前操作的数据库名

    3.删除库

      drop database 库名;  删除某个库

    4.修改库

      alter database 库名 charset utf8;  修改库的字符集为utf8

    二.mysql的存储引擎

    1.innoDB引擎

      特点:1.支持事务

         2.行级锁定

         3.读写阻塞与事务隔离级别有关

         4.高效缓存(索引和数据)

         5.支持外键约束

    2.MyISAM引擎

      特点:1.不支持事务

         2.表级锁定

         3.读写互相阻塞

         4.只能缓存索引

         5.不支持外键约束

    三.SQL的数据类型

    1.数值类型

    2.日期类型

      year  YYYY

      data  YYYY-mm-dd

      time  HH:MM:SS

      datatime  YY-mm-dd HH:MM:SS

      timestamp  YYmmdd HHMMSS

    3.字符串类型

      char  定长字符串

      varchar  不定长字符串

    4.枚举和集合类型

      enum("a","b","c")  单选

      eg :

        create table shirts(name char(20) , size enum("xxl","xl");

        insert into shirts(name,size) values ("dress shirt","xxl"),("T-shirt,"xl");

      set("a","b","c")  多选

      eg:

        create table myset (col set("a","b","c","d"));

        insert into myset (col) values("a,b"),("a","b","c")

    四.完整性约束

    1.空和默认值

      not null  不能为空,如果不约束默认为能为空

      default  默认值

    2.唯一,可以加速查询

      unique  约束字段名必须唯一

      unique(字段名1,字段名2)  联合唯一

    3.主键

      primary key  主键,不能为空且唯一,一张表必须有且只有一个主键

      primary key(字段名1,字段名2)  联合主键

    4.自动增长(用于主键)

      auto_increment  约束字段为自动增长,上一条数据+1,默认为1

    5.外键

      foreign key   外键,标明表和表之间的关系

      [constraint 外键名]foreign key (字段名) references 表名(字段名) [on update cascade on delete cascade]

    五.表操作

    1.创建表

      create table 表名(字段名1,类型[(宽度) 约束条件],

              字段名2,类型[(宽度) 约束条件]);

    2.查看表结构

      describe 表名;    查看表结构

      show create table 表名G;  查看表详细结构

    3.修改表 alter table

      1.修改表名

        alter table 表名  rename 新表名

      2.增加字段

        alter table 表名  add 字段名 类型[(宽度) 约束条件 位置];

      3.删除字段

        alter table 表名  drop 字段名;

      4.修改字段

        alter table 表名  modify 字段名 类型 [约束条件];

        alter table 表名  change 旧字段名 新字段名 旧数据类型 [约束条件];  可以想改就改

      5.增加外键

        alter table 表名  add [constraint 外键名]foreign key (字段名) references 表名(字段名);

      6.增加主键

        alter table 表名  add primary key(字段名);

      7.修改主键[自动增长]

        alter table 表名  modify 字段名 类型 primary key [auto_increment];

  • 相关阅读:
    2018ACM上海大都会赛 F Color it【基础的扫描线】
    2018大都会赛 A Fruit Ninja【随机数】
    两个数互质的概率
    【shell脚本学习-3】
    【mysql学习-1】
    【HCNE题型自我考究】
    【为系统营造的一个安全的环境】
    【nginx下对服务器脚本php的支持】
    【linux基于Postfix和Dovecot邮件系统的搭建】
    不同状态的动态路由协议对比
  • 原文地址:https://www.cnblogs.com/q767498226/p/10279944.html
Copyright © 2011-2022 走看看