MySQL中对表的基本操作,更改表结构

MySQL数据库中对表的基本操作

在对表进行操作之前需要引用一个数据库,即选中一个数据库进行操作。

	use student; # 使用库,指定要操作的库

执行完后显示Database changed -> 即代表已选中此库

show tables; # 查看当前已选中的库中的表

创建表

    create table student(
    id int,
    name varchar(30),   # varchar 字符串
    age int     # 最后一个不用加逗号
    );
    注:MySQL语句中忽略空格,语句可以全输在同一行,也可以分成多行,它们的作用相同。为增加可读性以便阅读与编辑,建议采用缩进格式。

创建一个名为student的表,其中包括字段id(int类型),name(varchar类型且宽度为30),age(int类型)

在创建新表时,指定的表名必须不存在,否则将出错。

创建表示例:

    create table if not exists teacher(
    id int auto_increment primary key comment '主键id',
        # auro_increment -> 自动增长,即id按int类型自动增长,自增必须主是主键,但是主键不一定是自增
        # comment 注释
    name varchar (30) not null comment '名字',
        # not null 即不能为空
    phomeNum varchar(20) comment '电话号',
    address varchar(100) default '暂时未知' comment '住址'
        # default  没填时的默认值
    )engine = innodb;
        # engine 数据库引擎,现在使用最多的是innodb,最好写全,若非要用关键关键字,要用反引号引起来(没啥用,不要使用关键字)

查看表如何创建

	desc teacher;
	# 查看teacher表是如何创建的,表的SQL语句

查看表结构

desc teacher;
# 列出teacher表的结构
show columns from teacher;
describe teacher;
# 三种均为查看表结构

删除表

drop table stu;
drop table if exists s,stu,000,j;
# 即,若存在,删除,删除多个时用逗号隔开
# 不能撤销,永久删除

更新表的结构

更新表定义时,使用alter table语句。

理想状态下,当表中存储数据之后,该表的结构就不应该被改变。

在表的设计过程中需要花费大量时间考虑,以便后期不对该表进行大的改动。

在使用alter table 时要极为小心,应在进行改动前做一个完整的数据和模式的备份。

添加字段(add)

alter table student add phone varchar(20);
	# 在student表中添加字段phone,类型varchar,宽度20

指定位置添加字段:

alter table student add gender varchar(1) after name;
	# 放在最后
alter table student add gender varchar(1) first;
	# 放在最前

删除字段(drop)

alter table student drop address;
alter table student drop column address;

	# 删除student表中字段address

修改字段(change)

alter table student change phone tel int(11);
	# 将student表中的字段phone改为tel,类型为int(11)

修改字段类型,不改名(modify)

alter table student modify tel varchar(13);
	# 将student表中的tel字段改为varchar(11)

只改表中字段名(rename)

alter table student rename to students;
	# 将表student改名为students

重命名表

rename table student to students;
	# 将表student重命名为students
# 若要对多个表重命名
rename table student to students,
			teacher to teachers,
			a to b;

外键的定义

定义外键是alter table语句的一种常见用途

定义外键的代码如下:

alter table orderitems
add constraint fk_orderitems_orders
foreign key (order_num) references orders(order_num);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值