数据库操作
查看已存在的数据库:
show databases;
创建数据库 :
create database 数据库名; / create schema 数据库名;
删除数据库:
drop database 数据库名;
选中数据库:
use 数据库名;
表操作
表的一切操作是在数据库中,故应该先选中一个数据库!!!
查看表的信息:
1.show create table 表名 \G
2.describe 表名;
创建表:“属性名”表示表中的字段名;“数据类型”表示指定字段的数据类型
create table 表名 (属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
.....
属性名 数据类型 [完整性约束条件]);
删除表
- 没有被关联的表 drop table 表名;
-
删除被其它表关联的父表 ?
先查看子表的表结构找到外键,去除子表的外键,再移除父表
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 默认值;