• 数据库和表操作以及完整性约束


    一.库操作

    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];

  • 相关阅读:
    centos7 安装svn, 同时支持 svn 和 http访问
    Maven单独构建多模块项目中的单个模块
    openfalcon agent 监控数据
    kubernetes 垃圾回收机制
    docker tomcat 已主机名为日志输出路径
    k8s mongodb 集群配置
    修改Centos7的网卡ens32 改为eth0
    jenkins发版脚本更新
    Git系列七之备份迁移 升级 恢复管理
    confluence wiki搭建使用
  • 原文地址:https://www.cnblogs.com/q767498226/p/10279944.html
Copyright © 2020-2023  润新知