开发者社区> 技术小牛人> 正文

mysql数据库表的基本操作

简介:
+关注继续查看

表的操作

表示数据库存储数据的基本单位,由若干个字段组成,主要用来存储数据记录,表的操作是增删改查,这是最基本的操作,也是最重要的操作

创建表

语法create table 表名

(字段类型[(宽度约束条件],

 字段类型[(宽度约束条件]

);

在同一张表中字段名不能相同

宽度和约束条件是可选的

字段名和类型是必须的

 

实例:

Use school

Create table student

(name char(10),

Sex char(8),

Age int(3),

Password varchar(50)

);

查看表结构

Describe 表名;

Desc 表名;

Show create table 表名;  //查看表详细结构

表完整性约束为了保障数据的完整性一致性和准确性

关键字primkary key 主键, 唯一标识的一个记录

Foreign key 外键 ,做关联

No null 非空

Unique key 唯一约束,这本身就是一个索引

Default 默认值

Auto_increment 自增长

 

实例:

Use school

Create table student

(name char(10) not null,

Sex enum (male,female), default male not null

Age int unsigned not null default 18,                    //unsigned修饰值必须为正值

Hobby set (music,book,disc) default book,disc

);

 

 

设置唯一约束实例:unique

Create table departtment(

Dept_id int,

Dept_name varchar(30) unique,

Comment varchar(50)

 

);

 

设置主键约束实例:primary key非常重要,唯一标识符,这本身就是一条索引

使用单列做主键

Create table departtment(

Dept_id int primary key,

Dept_name varchar(30) ,

Comment varchar(50)

);

 

 

使用多列做主键,也就是复合主键,也就是说这两个共同一起是不能有相同的数据的

Create table departtment(

Dept_id int ,

Dept_name varchar(30),

Comment varchar(50),

Constraint pk_id_name primary key (dept_id,dept_name)

);

 

设置自增长auto_increment  自增长通常都是配合主键共同使用的,而且这个字段必须是整数类型才行

Create table student(

Dept_id int  primary auto_increment,

Dept_name varchar(30),

Comment varchar(50)

);

 

 

设置外键约束foreign key主要做表的关联,这里就涉及到父子表的概念,外键必须要存储引擎来支撑的,所以必须要确保存储引擎是innodb才行

实例

父表

Create table empolyees(

 

Name varchar(20) not null,

Mail varchar (20),

Primary key (name)

)engine=innodb;

 

 

 

子表

Create table pryroll(

Id int(5) not null,

Name varchar(20) not null,

Payroll float (10,2) no null,

Primary key (id),

Constraint fk_name foreign key (name) references employees (name)

on udate cascade

on delete cascade           //字表中的nameemployees 表的name字段关联,并且同步删除更新,父表中有那个人,子表中才能够插入,不然是不行的

 

)engine=innodb;

 

 

修改表

修改表名

Alter table 旧表名  rename 新表名

实例:

Alter table stu rename student;  //stu表改名为student

Alter table student engine=myisam;  //修改student表的存储引擎为myisam

 

增加字段

Alter table 表名

 Add字段名 数据类型 [完整性约束条件.....],

Add字段名 数据类型 [完整性约束条件.....];

默认情况下新增加的字段是放在所有字段后面的

实例:

Alter table student

Add name varchar(30) not null,

Add age int not null;

 

Alter table 表名

Add字段名 数据类型 [完整性约束条件.....] first;

实例:

Add stu_num varchar(30) not null first;

 

 

Alter table 表名

Add字段名 数据类型 [完整性约束条件.....] after 字段名;

实例:

Add passord  varchar(30) not null after name;

 

 

删除字段

Alter table 表名 drop 字段名;

实例:

Alter table student drop stu_num;

 

 

 

 

修改字段

Alter table 表名 modify 字段名 数据类型 [完整性约束条件......]; //只能针对旧有的字段操作只能改名

 

Alter table 表名 change 旧字段名 新字段名 旧数据类型 [完整性约束条件......];

一般用这个

实例:

Alter table student change name stu_name varchar(30);

 

 

Alter table 表名 change 旧字段名 新字段名 新数据类型 [完整性约束条件......];

 

实例:

Alter table student change stu_name name varchar(50) not null;

 

 

 

删除表

Drop table 表名;

实例:

Drop table student

本文转自    探花无情   51CTO博客,原文链接:http://blog.51cto.com/983865387/1917416


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
表格存储 SQL 操作实战
表格存储做为一款结构化存储系统,近期发布了新功能 SQL,大幅简化了查询的门槛,用户无需学习繁琐的 SDK,也不用区分表,索引等不同的接口,可以像访问传统的 MySQL 这类数据库一样,使用 SQL 的方式访问云原生的结构化大数据存储。下面我们就来具体实操下,看看查询用起来顺不顺手。
164 0
mysql 5.7 修改数据库表
修改数据表 修改数据表是修改数据库中已经存在的数据表的结构。MySQL使用alter table 语句修改表。常用的修改表操作有:修改名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束。
1168 0
mysql数据库表记录数
经常用到,在这里记录一下,使用的命令 use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA = '数据库名' order by table_rows desc; 查询出来的是每张表的行数
1445 0
mysql数据库基本操作(sql语句加注释)
mysql数据库基本操作(sql语句加注释)
45 0
【数据结构】了解线段树与操作线段树的基本方法
【数据结构】了解线段树与操作线段树的基本方法
31 0
beego orm操作mysql数据库
慢慢弄起来~~ 按官方操作文档试一下。 那个err重复和user编号问题,以后再弄。。 package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.
2938 0
MySQL表更新操作
1、  使用insert语句向表插入一条新记录,语法是:insert into 表名 [(字段列表)] values(值列表)。 2、  使用set 语句更新操作与字符集,例如set character_set_client...
753 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载