day40

  1. Mysql语句

    1. 数据库操作

      #初始化,5.7版本没有data文件夹,需要自己初始化
      mysqld --initialise-secure
      #创建数据库
      create database 数据库名称;
      #查看数据库
      show databases;
      #使用数据库
      use 数据库名
      #删除数据库
      drop database 数据库名
      #修改数据库(在Mysql中没有专门的修改指令,所有只能删库重建)

      #关于自增
      show session variables like 'auto_inc%'
      set session auto_increment_increment = 2
      set session
    2. 数据表

      #新建
      create table 表名(列名 列类型);
      create table t1(id int,name char(32));

      #ps:存储引擎 innodb 和 MyIsam 5.5版本以上,默认是Innodb
      create table 表明(列名1 列类型) engine=Innodb charset=utf-8;

      # auto_increment 自增 primary key 主键索引加快查找速度
      create table 表名(
      列名1 列类型 auto_increment primary key
      )engine=Innodb charset=utf8

      #not null(不能为空)   default ''(默认值)
      create table t1(
      id int auto_increment primary key,
         name char(32) not null default '',
        .....
      )engine=Innodb charset=utf8;

      #查看某个数据库里的所有数据表
      show tables;
      desc 表名; 查看表结构
      show create table 表名; 查看表的创建过程

      #删除数据表
      drop table 表名;

      #修改数据库表
      alter table 表名 change 列名 新列名 列属性 是否为空 默认值;
      alter table 表名 add 列名 列属性 是否为空 默认值;
      alter table 表名 drop 列名;

      #列类型
      a.数值型 (根据自己公司的业务来去选择)
        int
        tinyint(有符号-128~127 | 无符号0~255) unsigned 声明无符号
        mediumint(-8388608~8388607 | 0~16777215)
        smallint(-32768~32767 |0~65535)    
             bigint
             
        float(M,D) 浮点型
        decimal(M,D) 定点型 比float更加的精准
             M: 小数总共多少位
             D: 小数点后面几位
                 
         b.字符串类型
        char:定长 char(32) 这一列的值就是32,不够就浪费掉了 优点:速度快
             varcahr: 变长 varchar(32)    节省空间 速度慢
             text:文本 范围大 如果存储大量字符,使用text
         
         c.时间类型
        date:日期
             time:时间
             datetime:推荐使用
             year:    
    3. 数据行

      #插入
      insert into 表名 (列1,列2) values (值1,值2);
      insert into student(id,name) values(2,'zs')

      #查询
      select 列名 from 表名;
      select * from sutdnet;

      #删除
      delete fron 表名;(自增列会延续)
      truncate 表名;(自增列会重新开始)

      #修改
      update 表名 set 列名 = '值'[,列名 = '值'] where 条件
    4. 外键

      constraint fk_userinfo_depart('约束名称') foreign key('外键') references department('关联的键') 
原文地址:https://www.cnblogs.com/zhuqihui/p/11013098.html