Mysql知识点总结1

数据库

  1. 创建数据库

    create database if not exists westos;
    
  2. 使用数据库

    user 'westos'
    
  3. 删除数据库

    drop  if exists westos
    
  4. 增删改

    update westos set name=? where id = ?;
    
  5. 查询

    
    
  6. 数据类型

    1. 数值

      tinyint (1)
      smallint(2)
      mediumint(3)
      int(4) 常用
      bigint(8)
      float(4)
      double(8)
      decimal 字符串形式的浮点数  金融计算一般使用
      
      
    2. 字符串

      char(0-255)
      varchar(0-65535) 常用  可变字符串 
      tinytext(2^8-1)  微型文本
      text(2^16-1)     文本串
      
    3. 时间日期

      date  YYYY-MM-DD 日期
      time  HH:mm:ss   时间
      datetime  YYYY-MM-DD HH:mm:ss 常用
      timestamp  时间戳  1970.1.1到现在的毫秒数
      year
      
    4. null

      没有值,未知,不要使用null进行计算结果为null
      
  7. 字段属性

    Unsigned 
    	无符号的整数  声明了该列不能为负数
    Zerofill
    	0填充
    	不足的位数用0补充
    自增
    	在上一条记录基础上默认加1
    	通常涉及唯一主键index,必须是整数类型
    	可以设置自增的起始值和步长
    not null
    	不赋值,就会报错
    默认
    	例如,sex属性,不设置就自动显示男
    
  8. 其他拓展

    id 主键
    'version'  乐观锁
    is_delete  伪删除
    gmt_create 创建时间
    gmt_update 修改时间
    
    
  9. 关于表的操作

    1. 创建表

      create table if not exists 'student'(
      	'id' int not null auto_increment comment '学号',
          'name' varchar(30) not null default '匿名' comment '姓名',
          'pwd' varchar(20) not null default '123456' comment '密码',
          'sex' varchar(2) not null default '男' comment '性别',
          'birthday' datatime default null comment '出生日期'
          'address'  varchar(100) default null comment '家庭住址',
          'email' varchar(20) default null comment '邮箱',
          primary key('id')
      )engine=innodb default charset=utf8;
      
    2. 查看创建数据库创建的语句

      show create database learn;
      
    3. 查看数据表的定义语句

      show create table user;
      
    4. 显示表的结构

      DESC USER;
      
    5. 关于数据库引擎

      INnode默认使用
      myIsam早前使用
      
      MYISAM INNODB
      事务支持 不支持 支持
      数据行锁定 表锁,不支持 支持
      外键约束 不支持 支持
      全文索引 支持 不支持
      表空间的大小 较小 较大

      注意

      MYISAM :节约空间,速度较快

      ​ 三个文件

      1. *.frm
      2. *.MYD
      3. *.MYI

      id自增保存在文件,从上一个开始

      INNODB :安全性高,事务的处理,多表多用户操作

      ​ 两个文件:*.frm 和ibdata文件

      ​ 内存断电,id自增从0开始

    6. 设置数据库表的字符集编码

      CHARSET=UTF8
      
    7. 修改表名

      alter table 旧表名 rename as 新表名;
      
    8. 添加表的字段

      alter table 表名 add age int(11);
      
    9. 修改表的字段名(修改约束)

      alter table 表名 modify age varchar(11);
      
    10. 修改表的字段(重命名)

      alter table 表名 change  旧字段 新字段 int(11);
      
    11. 删除表的字段

      alter table 表名 drop age1
      
    12. 删除表

      drop table if exists teacher;
      

      注意

      • 字段 用 ··
      • 注释 /* */
      • sql关键字建议小写
      • 所有符号用英文

    Mysql数据管理

    1. 外键

      alter table `student` 
      add constraint `Fk_gradeid` 
      foregin key(gradeid) reference `grade`(gradeid);
      /*
      	alter table `表` add constraint 约束名 foreign key 作为外键的列
      	reference 哪个表名(哪个字段);
      */
      
      

      注意:以上操作都是物理外键,数据库级别的外键,不建议使用

    2. dml语言

    3. 添加

      INSERT INTO `grade` (`grade_name`,`grade_number`) VALUES("高一",200);
      
    4. 修改

      UPDATE `grade` SET `grade_name`="初一" WHERE grade_id=1;
      
    5. 删除

      delete from `stu` where `stu_name`="沈腾";
      truncate `stu`;
      /*
      	delete 和 truncate 的区别
      	相同点:
      		都能	清空数据
      	不同点:
      		truncate清空id自增
      		delete  不清空id自增
      */
      
      

操作符

> = < <> between ..and ..  or
posted @ 2021-02-02 19:42  dgxacc  阅读(45)  评论(0)    收藏  举报