MySQL learning --insert

3, MySQL data management

3.1, the foreign key (to understand)

/*********************************************************
第三章 MySQL数据管理
3.1  外键(了解即可)
p12:数据库级别的外键
time:20:58
*********************************************************/

1583645465632

Method 1: When creating a table, adding constraints (trouble, more complex)

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
-- 学生表的gradeid字段要去引用年级表的gradeid
-- 定义外键key
-- 给这个外键添加约束(执行引用)
CREATE TABLE IF NOT EXISTS `student`(
    `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 '出生日期',
    `gradeid` INT(10) NOT NULL COMMENT '学生的年级', 
    `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY(`id`),
    KEY `FK_gradeid` (`gradeid`),
    CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

Delete the table of the foreign key relationships, you must first delete references to other people's tables (from the table), then delete the referenced table (the primary table)

Second way: After the success of creating a table, add foreign key constraint

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

CREATE TABLE IF NOT EXISTS `student`(
    `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 '出生日期',
    `gradeid` INT(10) NOT NULL COMMENT '学生的年级', 
    `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

-- 创建表的时候没有外键关系
ALTER TABLE `student` 
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);

-- ALTER TABLE `要添加外键的表名` 
-- ADD CONSTRAINT `约束名` FOREIGN KEY(`作为外键的列`) REFERENCES `被引用的表名`(`被引用的字段`);

The above operations are physical foreign keys, foreign keys in the database level, we do not recommend! (To avoid problems caused by excessive database, where you can understand ~)

== == Best Event

  • The database is a simple table, just to keep the data, only the row (data) and columns (fields)
  • We want to use data from multiple tables, and want to use the foreign key (program to achieve)

3.2, DML language (all remember)

/*********************************************************
第三章 MySQL数据管理
3.2&3.3   DML语言(全部记住)
p12:Insert语句详解
time:14:43
*********************************************************/

Language DML: Data Manipulation Language

  • insert
  • update
  • delete

3.3, adding

/*********************************************************
第三章 MySQL数据管理
3.2&3.3   DML语言(全部记住)
p12:Insert语句详解
time:14:43
*********************************************************/
-- 1:插入语句(添加)
-- insert into 表名([字段名1],[字段名2],[字段名3],...) values('值1','值2','值3',...)

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


-- 由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)
INSERT  INTO `grade` VALUES('大三') -- 这是错误的写法
-- 2:一般写插入语句,我们一定要数据和字段一一对应!
-- 插入多个字段:INSERT INTO 表名([字段名1],[字段名2],[字段名3],...) VALUES('值1'),('值2'),('值3',...)
INSERT INTO grade(gradename) VALUES('大一'),('大二')

INSERT INTO student(`name`) VALUES('张三')


INSERT INTO student(`name`,pwd,sex) VALUES('张三','aaaaaaaa','男')


INSERT INTO student(`name`,pwd,sex) 
VALUES('李四','aaaaaaaa','男'),('王五','aaaaaaaa','男')

== Syntax: INSERT INTO table name ([Field Name 1], [2 field name], [3 field name], ...) the VALUES ( 'value 1'), ( 'value 2'), ( 'value 3 ', ...)

Precautions:

  1. Use between fields and fields separated by commas
  2. Field can be omitted, but must correspond to the value of the back

Guess you like

Origin www.cnblogs.com/ferryboat-huan/p/12443765.html