-
修改数据表
添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]
添加多列
ALTER TABLE tbl_name ADD [COLUMN](col_name column_definition,....)
删除列
ALTER TABLE tbl_name DROP [COLUMN] col_name
查看全部 -
对一个数据列建立的约束叫列级约束
对多个数据列建立的约束叫表级约束
列级约束既可以在列定义是声明 也可以在列定义后声明
表级约束只能在列定义后声明
查看全部 -
外键约束的参照操作
CASCADE: 从父表删除或更新切自动删除或更新子表中匹配的行
SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
PESTRICT:拒绝对父表的删除或更新操作
NO ACTION:标准SQL的关键字,在MYSQL中与RESTRICT相同
删除记录使用DELETE FROM XXX;命令
DELETE FROM province WHRER id =3:删除province 中ID为3的行
查看全部 -
编辑数据表的默认存储引擎
MYSQL配置文件
default-storage-engine=INNODB
查看全部 -
FOREIGN KEY
保持数据一致性,完整性
实现一对一或一对多关系
外键约束要求
父表和子表必须使用相同的存储引擎,而且禁止使用临时表
2.数据表的存储引擎只能为InnoDB
3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号为必须相同;而字符的长度则可以不同
4.外键列和参照列必须创建索引。 如果外键列不存在索引的话,MYSQL将自动创建索引
查看全部 -
约束
1。约束保证数据的完整性和一致性
2.约束分为表级约束和列级约束
3.约束类型包括
NOT NULL非空约束
PRIMARY KEY主键约束
UNIQUE KEY唯一约束
DEFAULT默认约束
FOREIGN KEY外键约束
查看全部 -
DEFAULT
默认值
当插入记录是,如果没有明确为字段赋值,则自动赋予默认值。
CREATE TABLE tb6(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> sex ENUM('1','2','3') DEFAULT '3'
-> );查看全部 -
UNIQUE KEY
唯一约束
唯一约束可以保证记录的唯一性
唯一约束的字段可以为空值(NULL)
每张数据表可以存在多个约束
CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age tinyint UNSIGNED);查看全部 -
PRIMARY KEY
主键约束
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL
);
使用 SHOW COLUMNS FROM tb3;查看数据表tb3
SELECT * FROM tb3;查找记录
);
查看全部 -
AUTO_INCREMENT
自动编号,且必须与主键结合使用
默认情况下 ,起始值为1,每次的增量为1
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL
);
查看全部 -
【更改结束符为//】
DELIMITER //
查看全部 -
【修改密码】
SET PASSWORD = PASSWORD('dimitar');
查看全部 -
此时,外键约束已经删除,但pid字段仍然存在索引: key 'pid' ('pid');若想删除该索引,可以alter table users2 drop index pid;
查看全部 -
先通过show create table users2;来获取外键约束的名称(此时是系统赋予我们的),然后:alter table users2 drop foreign key users2_ibfk_1;<br/>查看全部
-
删除外键约束:查看全部
举报