-
创建表
caeate table 表名 (字段1 数据类型,字段2 数据类型,字段3 数据类型...)
-
使用Null值
默认允许字段为null值
使用not null,可以设置字段不允许为空值create table 表名 (字段 数据类型 not null)
-
主键介绍
create table 表名 (字段1 数据类型 not null primary key)
可以有符合组件的形式
主键值必须唯一
主键必须为not null(也可以先创建表,之后在修改表时约束主键为not null) -
使用auto_increment:是某列的值自动递增
create table 表名( 字段1 数据类型 not null auto_increment primary key)
一个表中 通常只允许一个列自动递增
需要设为主键 -
default:指定默认值
create table 表名(字段1 数据类型 not null primary key,字段2 数据类型 default "默认的值")
在新增行时,如果没有给字段2赋值,则字段2会是默认的值
默认值只会在新增时起到作用,修改时不会有默认值
不允许函数作为默认值 -
engine引擎类型
create table 表名 (字段1 数据类型 not null auto_increment primary key,字段2 数据类型 default “默认值”) engine=类型
mysql中有多种引擎
主要引擎:
innodb:是一个可靠地事务处理引擎,但不支持全文本搜索
myisam:是一个性能极高的引擎,他支持全文本搜索,但是不支持事务处理
memory:在功能等同于myisam,但是由于数据库存储在内存中,速度极快,适合缓存
引擎类型可以混用,(即同一个数库中某些表用innodb 有些表使用myisam)
但是不能跨引擎,
可以预先设置好数据库的默认引擎:在数据库的安装文件中my.ini文件中default-storage-engine=innodb -
alter table:更新表:对表结构进行修改(注意不是对数据进行修改)
-
alter table 表名 操作 字段
add 增加
drop 删除
alter table orders add cust_country
在orders表中添加一个字段cust_country
alter table orders add cust_country
在orders表中删除cust_country字段
alter table orders add constraint FK_orders_customers foreign key(cust_id) references customers(cust_id)
表添加一个约束,约束名字:FK_orders_customers 约束类型:foreign key 关联 customers表的cust_id字段
- 删除表
drop table 表名
- 重命名表
rename table 原表名 to 新表名