天天看点

MySQL中数据库和表的基本命令

数据库操作

查看已存在的数据库:

show databases;

创建数据库 :

create database 数据库名; / create schema 数据库名;

删除数据库:

drop database 数据库名;

选中数据库:

use 数据库名;

表操作

表的一切操作是在数据库中,故应该先选中一个数据库!!!

查看表的信息:

1.show create table 表名 \G
2.describe 表名;
           

创建表:“属性名”表示表中的字段名;“数据类型”表示指定字段的数据类型

create table 表名 (属性名 数据类型 [完整性约束条件],
			属性名 数据类型 [完整性约束条件],
			.....
			 属性名 数据类型 [完整性约束条件]);
           

删除表

  1. 没有被关联的表 drop table 表名;
  2. 删除被其它表关联的父表 ?

    先查看子表的表结构找到外键,去除子表的外键,再移除父表

show create table 子表名;
alter table 子表名 drop foreign key 外键名;
drop table 父表名;
           

设置主键

主键必须满足的条件就是唯一性、非空值!!!

1.单字段设置主键:

属性名 数据类型 primary key;

可以直接在该创建该表时,在字段后边加上primary key来为该字段添加主键

2.多字段设置主键:

primary key(属性名1,属性名2,……,属性名n);

在属性定义完之后同一设置主键

设置外键

外键必须依赖于数据库中已存在的父表的主键、可为空值。

constraint 外键别名 foreign key (属性名1,属性名2,……,属性名n) references 表名(属性名1,属性名2,……,属性名n);
           

前边的属性是子表中设置的外键;表名是父表的名称;后边的属性列表是父表的主键

子表的外键关联的必须是父表的主键,而且,数据类型必须是一致的

设置表的非空约束

创建表的时候在数据类型字段后边添加 not null;

属性名 数据类型 not null;
           

设置表的唯一性约束

指所有记录中该字段的值不能重复出现。

属性名 数据类型 unique;
           

设置表的属性值为自增

auto_increment 是 MySQL数据库中一个特殊的约束条件。一个表只能有一个字段使用auto_increment 约束,且该字段必须为主键的一部分。

在插入记录是,默认自增字段是从1开始自增的;如果第一条记录设置了该字段的处置,则新增加的记录就从处置开始自增。

如果新添加数据的自增字段值大于该字段最后一个值,则添加字段成功。

属性名 数据类型 auto_increment ;
           

设置表的属性的默认值

属性名 数据类型 default 默认值;
           

继续阅读