zoukankan      html  css  js  c++  java
  • mysql 总结一

    mysql  总结一

    数据类型(四类):

    整型(5种:tinyint,smallint,mediumint, int(或integer),bigint );

    浮点型:(float,double),

    日期:(5种:year,time,date,datetime,timestamp),

    字符:(char,varchar,tinytext,text,mediumtext,longtext,enum,set)

    ~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    show databases;

    @1:打开数据库:

        use 数据库名称

    @2:创建表:

        create table【if not exists】 table_name(

          column_name data_type,

          ......

    )

    @3:查看表结构:

        show COLUMNS from cost;

    ~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    @1:null;not  null;

    @2:auto_increment;(自动编号,且必须与主键组合使用,默认起始1,增量1,可为float,但小数位必须为0);

    @3:(primary )key(主键约束,每张表只有一个主键,主键自动为not null);

    @4:unique key(可以为空,每张表可以由多个唯一约束)

    @5:default(当插入记录时,若没有明确为字段赋值,则自动赋值默认值)

    ~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    @6:外键

      外键约束的要求:

        #1:父表和子表必须使用相同的存储引擎(??),而且禁止使用临时表。

        #2:数据表的存储引擎只能为InnoDB

        #3:外键列和参照列必须使用相似的数据类型。其中数字的长度或是否有符号位必须相同;字符的长度可以不同。

        #4:外键列和参照列必须创建索引。若外键不存在索引的话,mysql将自动创建索引

      (物理)外键约束的参照操作

        #1:cascade:从父表删除或更新且自动删除或更新子表中匹配的行。

        #2:set null :从父表删除或更新行,并设置子表中的外键列为null。如果使用该项,必须保证子表列没有指定not null。

        #3:restrict:拒绝对父表的更新或删除操作。

        #4:no action:标准sql的关键字,在吗mysql中与restrict相同。

      表级约束和列级约束

        #1:列级约束:对一个数据列建立的约束。

        #2:表级约束:对多个数据列建立的约束。

        #3:列级约束可以在定义列时声明,也可以在列定以后声明。

        #4:表级约束只能在列定以后声明。

    ~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    @7:修改数据表

      针对字段的操作:  添加/删除字段 ,修改列定义,修改列名称等;

      针对约束的操作:  添加删除各种约束;

      针对数据表的操作:  数据表更名(两种方式)。

      添加单列

        alter  table   table_name  add   [column]column_name   column_definition   [first|after   colum_name];

      添加多列

        alter  table   table_name  add  [column](column_name   column_definition,  ...);

      删除列

        alter  table   table_name  [drop  [column]column_name  ][,drop  clomun_name];

      添加主键约束

        alter  table   table_name  add  [constraint  [symbol]]  primary key[index_type]  (index_clo_name,...);

      添加唯一约束

        alter  table  table_name  add  [constraint  [symbol]]  unique[index|key]  [index_name]  [index_type];

    (index_col_name,...);

      添加外键约束

        alter  table  table_name  add  [constraint  [symbol]]  foreign key[index_name](index_col_name,...)  reference_definition;

      添加/删除默认约束

        alter  table  table_name  alter  [column] col_name  {set  default  literal  |  drop  default};

      删除主键约束

        alter  table  table_name  drop  primary key;

      删除唯一约束

        alter  table  table_name  drop  {index|key}  index_name;

      删除外键约束

        alter  table  table_name  drop  foreign key  fk_symbol;

        alter  table  table_name  drop  index  index_name;   删除指定列上的索引。

      修改列定义

        alter  table  table_name  modify  [column]col_name  column_definition  [first|after  column_name];

      修改列名称

        alter  table  table_name  change  [column] old_col_name  new_col_name  col_definition  [first|after  col_name];   

      修改数据表名称

        alter  table  table_name  rename  [to|as]  new_col_name;

        rename  table  tab_name  to  new_tbl_name  [,tabl_name2  to  new_tab_name2]    ...;

     ~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    查询模板:

      select  select_expr[,select_expr...]

      [  

        from  table_references

        [where  where_condition]

        [group  by  {col_name|prosition}  [ASC|desc],...]

        [having  where_condition]

        [order  by  {col_name|expr|position}  [asc|desc],...]

        [limit  {offset,  row_count|row_count  OFFSET  offset }]

      ]

  • 相关阅读:
    高性能网站优化——兼容
    高性能网站优化——开发
    leetcode刷题日记: 19.删除链表的倒数第k个节点
    大数据处理技术学习
    <java复习>返回可变对象引用的get方法要点
    <C++网络编程随笔>常用Socket函数总结
    <leetcode每日一题>数组中的第K个最大元素
    <leetcode每日一题>二叉树的LCA查找
    codeforce round615 div3 B
    暑假作业竟然如此芳香(hdu4145枚举+贪心)
  • 原文地址:https://www.cnblogs.com/zqsky/p/5898347.html
Copyright © 2011-2022 走看看