mysql之表和字段操作

目录

一:建表

二:修改表使用 ALTER TABLE 语句追加, 修改, 或删除列的语法

1:向表中添加字段

2:修改字段

3:删除字段

4:修改字段名

5:修改表的名称

6:修改字符集


一:建表

CREATE TABLE IF NOT EXISTS runoob_tbl(

runoob_id INT UNSIGNED AUTO_INCREMENT,

runoob_title VARCHAR(100) NOT NULL,

runoob_author VARCHAR(40) NOT NULL,

submission_date DATE,

PRIMARY KEY ( runoob_id )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据表时如果输入该字段的数据为NULL ,就会报错。

UNSIGNED不重复

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 可以使用多列来定义主键,列间以逗号分隔。

ENGINE 设置存储引擎,CHARSET 设置编码。

UNSIGNED AUTO_INCREMENT不能与not null一起使用

当字段值是固定的时比如男女可以用枚举enum;

sex enum(‘0’,‘1,)

注意:int可以转成varchar,反过来不可以。

字段类别是固定的可以使用数字来节约空间。例如男女,可以定义为1,0。

使用枚举类型使用enum直接指定可以使用什么值。

创建一个学生表 有id,name,age,sex字段把id字段设为主键(类型为varchar时需要后面加数据长度,int不用加)

create table if not exists students(
id int unsigned auto_increment,
name varchar(255),
age int,
sex enum('0','1'),
primary key(id))engine =innodb default charset=utf8;

注意:为了写方便我用了其他软件来连接数据库,可视化更好看一些软件是navicat。

二:修改表使用 ALTER TABLE 语句追加, 修改, 或删除列的语法

1:向表中添加字段

ALTER TABLE tablename

ADD (column datatype [DEFAULT expr]

[, column datatype]...);

注意:添加字段可以是一个也可以是多个后面加数据类型和限制

向students中加入clazz字段

alter table students add(clazz varchar(255));

2:修改字段

ALTER TABLE table

MODIFY (column datatype [DEFAULT expr]

[, column datatype]...);

modify只能修改表中已有的字段类型,不能修改字段名。修改表中没有的字段会出错

修改表students中clazz字段数据类型为int型

alter table students modify clazz int;

3:删除字段

ALTER TABLE table

DROP (column);

删除students表中clazz字段

alter table students drop clazz;

4:修改字段名

CHANGE (columnold columnnew datatype [DEFAULT expr]

-- [, columnold columnnew datatype]...);

修改列的名称: alter table change [column] old_col_name column_definition;

修改students中id的字段名为stu_id

alter table students change id stu_id int;

5:修改表的名称

rename table 表名 to 新表名;

将students表名修改为student

rename table students to student;

6:修改字符集

修改表的字符集

alter table salary convert to character set utf8;

猜你喜欢

转载自blog.csdn.net/weixin_50691399/article/details/121515747
今日推荐