MySql数据库(3)MySql数据管理

1.外键

  方式一:在创建表的时候,增加约束

复制代码
CREATE TABLE `grade`(
    `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id',
    `gradename` VARCHAR(50) NOT NULL COMMENT '年级名称',
    PRIMARY KEY(`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
复制代码
复制代码
##teacher表的gradetid 字段 要去引用年级表的 gradeid
##定义外键key,
##给这个外键添加约束(执行引用) references 引用
CREATE TABLE `teacher`(
    `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
    `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
    `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
    `sex` VARCHAR(2) NOT NULL DEFAULT '' COMMENT '性别',
    `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    `gradetid` INT(10) NOT NULL COMMENT '老师的年级',
    `address` VARCHAR(50) DEFAULT NULL COMMENT '家庭住址',
    `email` VARCHAR(30) DEFAULT NULL COMMENT '电子邮箱',
    PRIMARY KEY(`id`),
    KEY `FK_gradetid` (`gradetid`),
    CONSTRAINT `Fk_gradetid` FOREIGN KEY (`gradetid`)REFERENCES `grade` (`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
复制代码

  方式二:在外部添加约束

  ALTER TABLE 表 ADD CONSTRAINT 约束名 FOREIGN KEY(作为外键的列) REFERENCES 那个表(那个字段)

ALTER TABLE `teacher` ADD CONSTRAINT `FK_gradetid` FOREIGN KEY (`gradetid`) REFERENCES `grade` (`gradeid`);

 2.DML语言

  数据库意义:数据存储,数据管理

  DML语言:数据操作语言

    • Insert

    • update

    • delete

3.添加

  ##插入语句(添加)
  ##insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2')

INSERT INTO `grade` (`gradename`) VALUES('大四')

  ##一般插入语句,我们一定要数据和字段一一对应!主键自增可以省略
  ##插入多个字段

INSERT INTO `grade` (`gradename`) VALUES ('大三'),('大二')
INSERT INTO `teacher` (`name`,`pwd`,`sex`,`birthday`,`gradetid`,`address`,`email`)
VALUES ('十三','111111','','2000-2-3','2','宁夏','1351318078@qq.com')

4.修改

  update 修改谁 (条件) set 原来的值=新值

  语法:UPDATE 表名 set colnum_name =value,[colnum_name=value,...] where [条件]

  不指定条件的情况下,会改动所有表,修改多个属性,逗号隔开

  value,是一个具体的值,也可以是一个变量

UPDATE `teacher` SET `name`='十四',`pwd`='aaaaaa' WHERE `id` = 1

 5.删除

  delete 命令

  语法:delete from 表名 [Where 条件]

   删除数据(避免这样写,会全部删除)

DELETE FROM `student`

  删除指定数据

DELETE FROM `student` WHERE id=1

  TRUNCATE命令

  作用:完全清空一个数据库表,表的结构和索引约束不会变!

  清空 teacher表

TRUNCATE `student`

  delete 的TRUNCATE的区别

  相同点:都能删除数据,都不会删除表结构

  不同:

    • TRUNCATE  重新设置 自增列 计数器会归零

    • TRUNCATE 不会影响事务

  

 

posted @   十三加油哦  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示