mysql使用DDL语句操作数据库及表

  1. 数据类型

    (1). 数值类型:整数:tinyint( 1字节)smallint(2字符)mediumint(3字符)int(4字符)浮点数:float(4字节)double(8字符)定数:decimal(16字符)

    (2). 字符串类型:char(M字节0~255)varchar(可变长度0~65535)

    微文本串:Tinytext(0~255)文本串:text(0~65535)

    (3). 日期类型:date :YYYY-MM-DD 1000-01-01~9999-12-31

    Datetime:YYYY-MM-DD hh:mm:ss 00:00:00~23:59:59

    Time:hh:mm:ss -835:59:59~838:59:59

    Timestamp:YYYYMMDDHHMMSS 1970年某时刻~2038年某时刻精度1秒

    Year:YYYY 1901~2155

  2. 创建数据表

    (1).语法

    Create table [if not exists]`表名`(

    字段1 数据类型[字段属性|约束][索引][注释],

    字段2 数据类型[字段属性|约束][索引][注释],

    ......

    字段n 数据类型[字段属性|约束][索引][注释]

    )表类型(engine=innodb)表字符集(charset=utf8)[注释];

    (2).MySQL注释方法:单行:# 多行:/* */

    (3). 字段的约束及属性

    Not null:非空约束 default:默认约束 unique key(UK):唯一约束,值唯一

    Primary key:主键约束,唯一标识 foreign key:外键约束,用于两表建立关系

    auto_increment :自动增长默认1开始步长1 unsignen:无符号数

    Comment’’:注释 zerofill:零填充补位数

    设置自动增长步长:set@@auto_increment_increment=步长

  3. 查看数据表

    语法:show tables;查看数据库所有表

    查看表的定义:describe 表名;或 desc 表名;

    查看数据库定义:show create database 数据库名;

    查看数据表定义:show create table 表名;

    严格设置检查模式:set_mode=’strict_trans_tables’

  4. 删除数据表

    语法:drop table [if exists] 表名;

  5. 修改数据表

    (1).修改表名:Alter table 旧表名 rename as 新表名;

    (2).添加字段:alter table 表名 add 字段名 列类型 [属性];

    (3).修改字段:alter table 表名 modify 字段名 列类型[属性];

    alter table 表名 change 旧表名 新表名 列类型[属性];

    (4). 删除字段:alter table 表名 drop 字段名;

    (5). 添加约束主键:alter table 表名 add constraint 主键名 primary key 表名(主键字段);

    (6). 添加约束外键:alter table 表名 add constraint 主键名 foreign key(外键字段) references 关联表名(关联字段);

    (7). 查看帮助命令:Help 查询内容;

    (8). 删除外键:alter table 表名 drop foreign key 外键字段;

    alter table 表名drop index 外键字段;

你可能感兴趣的:(数据库,mysql,sql)