花了2周,读完了 《mysql入门很简单》,毕竟是入门书, 400多页翻起来也很快,以下是把几个点梳理下
一 创建,修改,删除表
CREATE TABLE 表名(属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束],
);
例子
CREATE TABLE example ( stu_id INT PRIMARY KEY UNIQUE NOT NULL AUTO_INCREMENT,
stu_name = VARCHAR(20),
stu_sex BOOLEN
);
CREATE TABLE example1 ( id INT PRIMARY KEY UNIQUE NOT NULL AUTO_INCREMENT,
course VARCHAR(10) NOT NULL DEFAULT 'english',
s_num INT(10) NOT NULL,
CONSTRAINT example1_fk FOREIGN KEY (s_sum)
REFERENCES example ( stu_id )
);
约束条件:
- PRIMARY KEY 设置主键
- UNIQUE 设置该属性值唯一
- NOT NULL 不为空
- FOREIGN KEY 外键
- AUTO_INCREMENT 自动增加,一般设置为主键
- DEFAULT 设置默认值
查看表结构
DESC example;
SHOW CREATE TABLE example \G;
# \G可以使显示结果更加美观
修改表名
ALTER TABLE 旧表名 RENAME 新表名;
ALTER TABLE example RENAME new;
修改字段类型
ALTER TABLE 表名 MODIFY 属性名, 数据类型;
ALTER TABLE example MODIFY stu_name VARCHAR(30);
修改字段名
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新属性类型;
ALTER TABLE example CHANGE stu_name stu_new VARCHAR(30);
增加字段
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];
ALTER TABLE example ADD phone VARCHAR(30)
ALTER TABLE example ADD phonenum VARCHAR(30) AFTER stu_name
#把phonenum添加到stu_name属性后
删除字段
ALTER TABLE 表名 DROP 属性名;
ALTER TABLE example DROP phone;
修改字段排列
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2
phonenum修改到最前面
ALTER TABLE example phonenum VARCHAR(30) FIRST;
#phonenum 放到stu_name后面
ALTER TABLE example phonenum varchar(30) after stu_name;
修改引擎
ALTER TABLE 表名 ENGINE = 存储引擎名;
ALTER TABLE example ENGINE = MyISAM;
删除表的外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名
ALTER TABLE example1 DROP FOREIGN KEY example_fk;
删除表
DROP TABLE example1;
网友评论