zoukankan      html  css  js  c++  java
  • mysql快速上手之DDL数据定义语句

    SQL分类

    • DDL语句:数据定义语句,定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。(create、drop、alter等)
    • DML语句:数据操纵语句,用于增删改查的操作,并检查数据完整性。
    • DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问级别和安全级别。(grant、revoke等)

    DDL语句

    数据库的操作

      • 创建数据库
    create database 数据库名 charset=utf8;
      • 查看存在哪些数据库
    show databases;
      • 选择要操作的数据库
    use 数据库名;
      • 查看数据库中创建爱你的所有数据表
    show tables;
      • 删除数据库
    drop database 数据库名;

    数据表的操作

      • 创建数据表
    create table user(id int(11),name varchar(50))default charset=utf8;
    
    create table 表名(字段名 类型(长度),字段2 类型(长度))engine=引擎 default charset=utf8; 
    # mysql中没有utf-8只有utf8 ;引擎在文章下面有介绍
      • 查看表结构
    show tables;
    desc 表名;
      • 删除表
    drop table 表名;

    truncate table 表名; #下次插入数据 id下标就从1开始 
      • 修改表名
    alter table 旧表名 rename 新表名;
    alter table user rename users;

    数据字段的操作

      • 修改表字段的类型(modify)
    alter table user modify name int(30);
    alter table 表名 modify 字段名 新类型(新长度);
      • 添加字段(add)
    alter table user add column age tinyint; # 默认加到最后 ,column可加可不加
    alter table 表名 add column 新字段名 类型(长度);
      • 删除字段(drop)
    alter table 表名 drop column 字段名; # column可加可不加
      • 给字段改名(change)
    alter table 表名 change 旧字段名 新字段名 类型(长度); 
    # 可以修改名字的同时修改字段类型
      • 添加字段的时候控制顺序
    alter table user add password varchar(30) first; # 添加到第一位
    
    # 添加到指定字段的后面
    alter table user add column 新字段名 类型(长度) after 存在的字段名; 
      • 已经存在的表字段  调整顺序 (modify first/after)
    alter table user modify id int(11) first; # 将id字段调整至第一位
    
    alter table user modify age tinyint after id; # 将age字段调整至id字段后面

    引擎(常用的引擎:innodb  、 myisam)

    myisam 、innodb引擎的区别    

    • myisam
      • 不支持事务
      • 表锁 锁住整张表
      • 在服务器中的文件存放格式 *.frm *.MYD *.MYI
    • innodb
      • 支持事务 如果说数据出错 支持数据回滚 保证数据的安全
      • 行锁
      • 在服务器中的文件存放格式*.frm *.ibd
  • 相关阅读:
    java getEnv不区分大小写 getProperty区分大小写
    spring 解析配置文件问题
    (转载)Java里快如闪电的线程间通讯
    quartz中关键类
    HTTP中缓存相关
    (转载)javascript函数作用域和提前声明
    (转载)ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
    rcnn 理解笔记
    打乱图片顺序,按一定比例分别存放
    Python 批量读取文件夹下的图片,并保存在文档下
  • 原文地址:https://www.cnblogs.com/wuzc/p/12185410.html
Copyright © 2011-2022 走看看