MySQL数据表的基本操作

一、创建表

语法:

create table 表名
(
    列名 数据类型 特征, -- 字段名  属性名
    列名 数据类型 特征,
    ……
    列名 数据类型 特征
)charset=utf8;

 示例

create table t_user
(
    id int,
    username varchar(20),
    password varchar(50)
);

示例

create table t_student
(
    id int primary key auto_increment, -- 将id设为主键 自动增长 默认从1开始,每次递增
    name varchar(10) not null, -- 不允许为空
    age int,
    sex varchar(8) not null default '男', -- 指定默认值
    address varchar(100),
    height double,
    birthday date
)charset=utf8;

示例

insert into t_student(name,age,sex,birthday,height) values('张三',21,'男','2002-5-9',178.2);
insert into t_student(name,age,birthday,height) values('李四',21,'2003-7-25',176.3);
insert into t_student(name,age,sex) values(null,22,'女');
insert into t_student values('钱多多',20,'女','南京',172.1,now());
insert into t_student values(null,'钱多多',20,'女','南京',172.1,now());

二、修改表

1.添加列

  语法:

  alter table 表名 add 列名 数据类型;

  示例:

  在t_student表中增加1个名为weight体重字段,类型为双精度。

alter table t_student add weight double;

2.修改列的类型

  语法:

alter table 表名 modify 列名 新数据类型;

  示例:

  将t_student表中name姓名字段的宽度修改为250。

alter table t_student modify name varchar(250);

3.修改列名

alter table 表名 change 原列名 新列名 数据类型;

  示例:

  将t_student表中sex字段名称修改为gender。

alter table t_student change sex gender varchar(8);

4.删除列

  语法:

alter table 表名 drop 列名;

  示例:

  删除t_student表中weight列(字段)。

alter table t_student drop weight;

5.修改表名

  语法:

alter table 原表名 rename 新表名;
或
rename table 原表名 to 新表名;

  示例:

  将t_student表名修改为student。     

alter table t_student rename student;
rename table student to t_student;

三、删除表

语法

drop table 表名;
drop table if exists 表名;

示例:

删除world数据库中的t_user表

drop table t_user;
drop table if exists t_user;

四、截断表

清空表中的数据,作法类似于无条件的delete语句

语法:

truncate table 表名;

示例:   

truncate table t_student;
select * from t_student;
insert into t_student(name,gender) values('tom','男');
insert into t_student(name,gender) values('kitty','女');
select * from t_student;
delete from t_student;
insert into t_student(name,gender) values('mike','男');
insert into t_student(name,gender) values('alice','女');
select * from t_student;

delete与truncate的区别:

  • delete会记录日志,所以速度慢,而truncate不记录日志,清空表并释放资源,速度快
  • delete可以指定条件只删除部分数据,而truncate只能用来清空表中所有数据
  • delete不会将自动增长列归零,而truncate会使自动增长的列如id列归零
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值