mysql基本操作

  • 查询数据库
    show databases ;
  • 创建使用默认的数据库
    create database test_demo;
  • 删除数据库
    drop database test_demo;

基本操作练习

  • 登录
    mysql -h localhost -u root -p
  • 创建test
    create database test ;
  • 使用当前
    use test;
  • 删除当前
    drop database test;
  • 查看创建数据库信息
    show create database test;

创建一张员工表

  • use test
  • 建立表
CREATE TABLE tb_empl (
    id INT (11),
    NAME VARCHAR (22),
    depid INT (11),
    salary FLOAT
);
  • 使用主键
    什么是主键
  • 主键约束要求 列数据是唯一的,并且不允许为空null;
    主要作用 用来表示数据的唯一性,结合外键用来描述不同表的关系 ,
  • 主键 可以分为单一 主键 与联合主键 联合 主键在一个表中存在多个主键,他们之间是一一对应关系,
  • 带有主键的描述
CREATE TABLE tb_empl (
    id INT (11) PRIMARY KEY,
    NAME VARCHAR (22),
    depid INT (11),
    salary FLOAT
);
  • 带有多个主键的描述
CREATE TABLE tb_empl (
    id INT (11) ,
    name VARCHAR (22),
    depid INT (11),
    salary FLOAT,
  PRIMARY KEY(id,name)
);

外键

什么是外键

  • 简单的说外键用来描述 表与表之间的关系,子表 父表
    一对多,多对一的关系 多对多 描述完整性关系
  • 外键可以为空 外键可以不是主键
  • 当外键不为空时,应该对应另一个表的主键值
  • 保持数据库一致性,当子表对应的值发生改变,那么父表的值,可以进行改变 设置为null 或者进行更新操作
  • 关系描述,相关联字段中主键所在的为主表,
    -相关联字段中做为外键的所在表为从表
  • ** 使用外键 主表与次表 关联的数据类型必须是一致 的 否者错**
DROP TABLE IF EXISTS `tb_empl`;
CREATE TABLE `tb_empl` (
  `id` int(11) NOT NULL,
  `name` varchar(22) NOT NULL,
  `depid` int(11) DEFAULT NULL,
  `salary` float DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `depid` (`depid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

---------------------------------------------------次表

DROP TABLE IF EXISTS `tb_empl2`;
CREATE TABLE `tb_empl2` (
  `id` int(11) NOT NULL,
  `idcardid` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `emp1_2` (`idcardid`),
  CONSTRAINT `emp1_2` FOREIGN KEY (`idcardid`) REFERENCES `tb_empl` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

非空约束

  • 即为 NOT NULL 使用非空约束 当对表插入空数据时,将会抛出异常
create table empl
( id int(11) primary key,
   name varchar(22) NOT NULL)

使用唯一性约束

  • 即为 unique 使用唯一性约束的字段只允许出现一次null值,不会出现相同值的情况存在
create table empl
( id int(11) primary key,
   name varchar(22)  NOT NULL UNIQUE)
----------------------------------------------------------
写法2
CREATE TABLE qqq
(  id int(11) PRIMARY key,
   cardid int(18) NOT NULL,
   CONSTRAINT tld UNIQUE(cardid)
)

主键与唯一约束的区别

  • 设置为主键不允许插入值为空 ,是唯一的
  • 设置为唯一性约束允许插入一次null值,其他结果也是唯一的

默认约束

  • 意义:当插入值没有时,则自动为他填上写好了的语句
  • method default "",
CREATE TABLE qqq
(  id int(11) PRIMARY key,
     username VARCHAR(22) DEFAULT "二维",
   cardid int(18) NOT NULL,
   CONSTRAINT tld UNIQUE(cardid)
)

在设置id值 ,一直会设置自动增长

  • AUTO_INCREMENT, 不需要插入值,即可自动增长
CREATE TABLE qqq
(  id int(11) PRIMARY key AUTO_INCREMENT,
     username VARCHAR(22) DEFAULT "二维",
   cardid int(18) NOT NULL,
   CONSTRAINT tld UNIQUE(cardid)
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容