数据库



事务:

一组操作的集合。要么全部不执行,要么全部执行

创建一个数据库 createdatabase (数据库名字);

 

创建一个表  create table stu_info

(

 Id int(11),

 Name  varchar(20),

);

 

 

主键约束:

主键不允许为空,唯一标识表中的一条记录

Id int(11) primary key,   primary key(id)

多字段联合主键

Primary key(id,name)

 

外键约束

外键用来在俩个表的数据之间建立连接,它可以是一列或者多列,一个表可以有一个或多个外键,外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值

Create table tb_emp5

(

Id int(11) primary key,

Deptid int(11),

Constraint fk_emp_dept1 foreign key(deptid)references ta_dept1(id)

)

在表tb_emp5 上添加名称为fk_emp_dept1的外键约束,外键名称为deptid 其依赖tb_dept1的主键id

 

 

非空约束

指字段的值不能为空,如果用户在添加数据时没有指定值,系统报错

Create table tb

(

Id int(11) not null

);

 

唯一性约束

要求该列唯一,允许改列为空,但只能出现一个空值,唯一约束可以确保一列或几列不出现重复值

Create table info

(

Id int(11) primary key,

Name varchar(11) unique

);

在定义完所有的列以后指定

 

Create table info

(

Id int(11) primary key,

Name varchar(11),

Constraint sth unique(name)

);

 

 

默认约束(指定某列的默认值)

Create table info

(

Id int(11) primary key,

Name varchar(10) not null,

Age int(11) default 20

);

如果新插入的记录没有指定年龄,则默认为20

 

 

设置表的属性值自动增加

Auto_increment

默认的在mysqlauto_increment初始值是1,每增加一条记录,字段值自动加1,一个表只能有一个字段使用auto_increment约束,且该字段必须为主键的一部分,可以是任意的整数类型

Create table info

(

Id int(11)primary key auto_increment,

Name varchar(30) not null

);

 

 

 

查看表基本结构语句确认表的定义是否正确describe / desc

Describe info;

Desc info;

 

查看表详细结构语句show create table

Show create table info;

Show create table info\G;

 

 

修改数据表

Alter table <旧表名> rename[to]<新表名>;

Alter table info rename info2;    [to]为可选参数,是否使用不影响结果

 

修改字段的数据类型

Alter table <表名> modify <字段名> <数据类型>

Alter table info modify id char(30);

 

修改字段名

Alter table <表名> change <旧字段名> <新字段名> <新数据类型>

Alter table info change id name char(20);

 

添加字段

Alter table <表名>add <新字段名><数据类型>

Alter table info add name varchar(10);

[约束条件][first | after 已经存在的字段];

first为可选参数,作用是新添加的字段为表的第一个字段

after为可选参数,作用是新添加的字段在已经存在的字段后面

如下例;

Alter table info add name varchar(20) notnull first;

Alter table info add age int(10) not nulldefault 20 after name;

 

删除字段

Alter table <表名> drop <字段名>;

Alter table info dorp id;

 

修改字段的排列位置

Alter table<表名>modify<字段1><数据类型>first|after<字段2>;

Alter table info modify id int first;

Alter table info modify name varchar(30)after id;

 

更改表的存储引擎

Alter table <表名>engine=<更改后的引擎名>

Alter table info engine=innodb;    //innodb是表默认的存储引擎

 

删除表的外键约束

外键一旦删除就会接触主表和子表之间的关联关系

Alter table <表名>drop foreign key<外键约束名字>

 

删除数据表

删除没有被关联的表

Drop table [if exists] <表名>

Drop table info;

 

删除被其它表关联的主表

可以先删除与它关联的子表外键再删除主表,方法同上

 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值