Mysql数据库中表的创建,修改及删除
发布时间:2022-10-12 13:05:38 所属栏目:MySql教程 来源:
导读: 1.创建表的语法形式
create table 表名 (属性名 数据类型 [完整性约束条件]);
create table example0(id int,name varchar(20),sex boolean);
2.设置表的主键
Create table 表
create table 表名 (属性名 数据类型 [完整性约束条件]);
create table example0(id int,name varchar(20),sex boolean);
2.设置表的主键
Create table 表
|
1.创建表的语法形式 create table 表名 (属性名 数据类型 [完整性约束条件]); create table example0(id int,name varchar(20),sex boolean); 2.设置表的主键 Create table 表名(属性名 数据类型 primary key) create table example1(stu_id int primary key,stu_name varchar(20),stu_sex boolean); 3.多字段主键 create table 表名(属性名 数据类型 primary key(属性名1,属性名2,…)) create table example2(stu_id int,course_id int,grade float,primary_key(stu_id,course_id)); 4.设置表的外键 create table 表名(属性名 数据类型 primary key (属性1.1,属性1.2) reference 表名(属性名2.1,属性2.2) ) mysql> create table example3( -> stu_id int, -> course_id int, -> constraint c_fk foreign key(stu_id,course_id)references example2(stu_id,course_id) -> ); 5.设置表的非空约束 create table 表名(属性名 数据类型 not null) mysql> create table example4( -> id int not null primary key, -> name varchar(20) not null, -> stu_id int, -> constraint d_fk foreign key (stu_id) -> references example1(stu_id) -> ); 6.设置表的唯一性约束 create table 表名(属性名 数据类型 unique) mysql> create table example5( -> id int primary key, -> stu_id int unique, -> name varchar(20) not null -> ); 7.设置表的属性值自动增加 create table 表名(属性名 数据类型 auto_increment) mysql> create table example6( -> id int primary key auto_increment, -> stu_id int unique, -> name varchar(20) not null -> ); 8.设置表的属性的默认值 create table 表名(属性名 数据类型 default 默认值) mysql> create table example7( -> id int primary key auto_increment, -> stu_id int unique, -> name varchar(20) not null, -> english varchar(20) default 'zero', -> math float default 0, -> computer float default 0 -> ); 查看表结构 1.查看表结构的语句 describe 表名; describe example3; 结果:mysql> describe example3; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+---------+------+-----+---------+-------+ | stu_id | int(11) | YES | MUL | NULL | | | course_id | int(11) | YES | | NULL | | +-----------+---------+------+-----+---------+-------+ 2.查看表详细结构语句 show create table 表名; show create table example7 \G mysql> show create table example7 \G; *************************** 1. row *************************** Table: example7 create Table: CREATE TABLE `example7` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stu_id` int(11) DEFAULT NULL, `name` varchar(20) NOT NULL, `english` varchar(20) DEFAULT 'zero', `math` float DEFAULT '0', `computer` float DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `stu_id` (`stu_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.01 sec) 修改表 1.修改表名 alter table 旧表名 rename to 新表名; 我们修改example0的表名: 修改前 mysql> alter table example0 rename to user; 修改后 2.修改字段的数据类型 alter table 表名 modify 属性名 数据类型; 我们修改name字段的数据类型 alter table user modify name varchar(30); 修改前: 修改后: 3.修改字段名 alter table 表名 change 旧属性名 新属性名 新数据类型; 1. 只修改字段名,不修改数据类型 修改example1中stu_named的字段名为name alter table example1 change stu_name name varchar(20); 2. 修改字段名且修改数据类型 修改example1中stu_sex的字段为sex,且数据类型修改为int(2) alter teble example1 change stu_sex sex int(2); 3. 增加字段 alter table 表名 add 属性名1 数据类型[完整性约束条件] [first |after 属性名2]; 属性1:指需要增加的字段的名称; 数据类型:新增字段的数据类型; (1) 增加无完整性约束条件的字段 我们在user表中增加一个无完整性约束条件的字段phone字段。 未执行语句之前 执行语句后 alter table user add phone varchar(20); (2) 增加有完整性约束条件的字段 我们在user表中增加一个有非空约束的age字段 语句执行前 语句执行后 alter table user add age int(4) not null; (3) 表的第一个位置增加字段 我们将在user表中第一个位置增加一个num字段创建数据库表,并设置为主键 语句执行前 语句执行后 alter table user add num int(8) primary key first; (4) 表的指定位置增加字段 我们将user表中phone的后面增加address字段 语句执行前 语句执行后 alter table user add address varchar(30) after phone; 4.删除字段 alter table 表名 drop 字段名; 我们从user表中删除id字段 语句执行前 语句执行后 alter table user drop id; 5.修改字段的排列位置 语法:alter table 表名 modify 属性名1 数据类型 first|after 属性名2; 属性名1:指需要修改位置的字段名称; 数据类型:指属性名1的数据类型; first:指指定位置为表的第一个位置; after 属性名2:指指定属性名1插入在属性名2之后。 (1)字段修改到第一个位置 我们user表中name字段修改为该表的第一个字段 修改前 修改后 alter table user modify name varchar(30) first; (2)字段修改到指定位置 我们将user表中sex字段排到age字段之后 语句执行前 语句执行后 alter table user modify sex tinyint(1) after age; 6.更改表的存储引擎 语法:alter table表名 engine=myisam; 我们先查看一下user表的存储引擎,结果为:InnoDB 执行后 alter table user engine=myisam; 7.删除表的外键约束 语法:alter table 表名 drop foreign key 外键别名; 外键别名:指创建表时设置的外键的代号 我们将example3的外键约束删除 语句执行前 语句执行后 alter table example3 drop foreign key c_fk; 删除表 (1)删除没有被关联的普通表 语法:drop table 表名 我们接下来将example5表删除 语句执行前 语句执行后 drop table example5; (2)删除被其他表关联的父表 接下来我们删除example1表 drop table example1; 删除失败,有外键依赖于该表 example4表依赖于example1表。example4表的外键时stu_id 依赖于example1表的主键。example1表是example4表的父表。方法一:如果要删除example4表,必须先去掉这种依赖关系。最简单直接的办法是,先删除example4,然后再删除父表example1。方法二:先删除子表的外键约束,然后删除父表。 执行语句前 语句执行后 结果显示成功 (编辑:天瑞地安资讯网_瑞安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

