0
点赞
收藏
分享

微信扫一扫

03 - 大学生如何使用GPT

止止_8fc8 2023-04-24 阅读 46

修改和删除表字段

修改

修改表名:ALTER TABLE 旧表名 RENAME 新表名,如

-- 修改表名
ALTER TABLE rxj RENAME RX

 增加表的字段:ALTER TABLE 表名 ADD 属性 列属性,如

-- 增加表的字段
ALTER TABLE rx ADD age INT(11)

 修改表的字段(重命名,修改约束):
ALTER TABLE 表名 MODIFY 属性 列属性    -- 修改约束
ALTER TABLE 表名 CHANGE 旧属性 新属性 列属性    -- 字段重命名 

-- 修改表的字段(重命名,修改约束)	
ALTER TABLE rx MODIFY age VARCHAR(11) -- 修改约束
ALTER TABLE rx CHANGE age age1 INT(11) -- 字段重命名

删除

删除表的字段:ALTER TABLE 表名 DROP 要删除的字段    -- 删除表的字段,如

ALTER TABLE rx DROP age1	-- 删除表的字段

删除表:DROP TABLE IF EXISTS 表名 -- 如果表存在就删除

DROP TABLE IF EXISTS rx -- 如果表存在就删除

 MySql数据管理

外键【物理外键】

创建外键的第一种方式

CREATE TABLE IF NOT EXISTS `grade`(
`gid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年纪id',
`gname` VARCHAR(20) NOT NULL COMMENT '年纪名称',
PRIMARY KEY(`gid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `student` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`gid` INT(10) NOT NULL COMMENT '学生的年级', --外键
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`emali` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`),
KEY `FK_gid` (`gid`),
CONSTRAINT `FK_gid` FOREIGN KEY (`gid`) REFERENCES `grade`(`gid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb3

 创建外键的第二种方式

CREATE TABLE IF NOT EXISTS `grade`(
`gid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年纪id',
`gname` VARCHAR(20) NOT NULL COMMENT '年纪名称',
PRIMARY KEY(`gid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `student` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`gid` INT(10) NOT NULL COMMENT '学生的年级',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`emali` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb3

ALTER TABLE `student` ADD CONSTRAINT `FK_gid` FOREIGN KEY(`gid`) REFERENCES `grade`(`gid`);

ALTER TABLE 表 ADD CONSTRAINT 约束名 FOREIGN KEY(作为外键的列) REFERENCES 那个表(哪个属性); 

DML语言【重点,建议背下来】

DML:数据库操作操作语言

添加

INSERT INTO `teacher`(`id`,`name`,`pd`) VALUES('2','来一沓Java','456789')

注:

  • 字段和字段之间用英文的 , 隔开;
  • 字段是可以省略的,但是后面的值必须要一一对应;
  • 可以同时插入多条数据,values后面的值,需要用 , 隔开,即"values(),(),()";
  • 如果不写表的字段,它会一一匹配; 

修改

UPDATE `student` SET `name`='来一沓Java' , `pd`='123456' WHERE id = '1'

 区间判断

操作符含义范围结果
=等于1=2false
<>或!=不等于1<>2或1!=2true
>大于1>2true
<小于1<2true
<=小于等于1<=2true
>=大于等于2>=1true
BETWEEN..and..在某个范围内[1,2]
AND与&&相同1<2 AND 2>1true
OR与 || 相同1<2 OR 2>1true

注意:

删除

DELETE FROM `teacher` WHERE `id`='1'

delete和truncate的区别

DQL查询数据【重点】

查询全部的数据

SELECT * FROM `sqlday1`

查询指定字段

SELECT `id`,`name` FROM `student`

起别名 AS

SELECT `id` AS 学号,`name` AS 学生姓名 FROM `student`

数据去重

SELECT DISTINCT `t_id` FROM `student`

 四、模糊查询

运算符语法描述
IS NULLa is null如果操作符a为空,结果为真
IS NOT NULLa is not null如果操作符a不为空,结果为真
BETWEEN ANDa between b and c若a在b和c之间,结果为真
Likea like bSQL匹配,若a匹配b,结果为真
Ina in (a1,a2,a3...)假设a在a1,或者a2...中的某个值中,结果为真

like结合:% 代表0到任意个字符   _ 代表一个字符。

举报

相关推荐

0 条评论