-- 库
-- USE demo 切换库
-- DEFAULT '' 默认值
DROP TABLE users;
CREATE TABLE users(
	id      INT(10) PRIMARY KEY AUTO_INCREMENT COMMENT 'id',
	uname   VARCHAR(20) NOT NULL DEFAULT '默认用户' COMMENT '用户名',
	upass   VARCHAR(30) NOT NULL COMMENT '密码',
	phone   BIGINT(11) NOT NULL COMMENT '电话号码',
	qq      INT(10) COMMENT 'qq号码',
	id_card CHAR(18) COMMENT '身份证号',
	sex     INT(1) NOT NULL DEFAULT 0 COMMENT '0代表女 1代表男'
);
-- 1、注册
-- 2、登录
-- 3、实名认证
-- 3、修改个人信息
INSERT INTO users VALUE(1,"张三","123456",13914251231,152312,"510122142314126232");
INSERT INTO users(uname,upass,phone) VALUE("张三","123321",13512361231);
INSERT INTO users(uname,upass,phone) VALUE("李四","123321",13512361231);
INSERT INTO users(uname,upass,phone) VALUE("王五","123321",13512361231);
INSERT INTO users(upass,phone) VALUE("123321",13512361231);


-- 优雅的修改操作
-- ALTER TABLE 旧表名 RENAME AS 新表名;
ALTER TABLE users RENAME AS users_info;
SELECT * FROM users_info;
ALTER TABLE users_info RENAME AS users;

-- 添加字段
-- ALTER TABLE 表名 ADD 字段名 INT(3) ...字段属性;
ALTER TABLE users ADD age INT(3);

-- 修改字段
-- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型;
ALTER TABLE users CHANGE age aeg VARCHAR(3);
ALTER TABLE users CHANGE aeg age INT(3);

-- 删除字段
-- ALTER TABLE 表名 DROP 字段名;
ALTER TABLE users DROP age;





-- ★★★★★★★★★★★★★★★★  重点 ★★★★★★★★★★★★★★
-- 创建一个英语考试成绩表
-- java double = mysql DOUBLE
-- DOUBLE(m,d) m代表总个数 d小数位数
-- 总个数 = 小数前 + 小数后;
-- java DATE() = DATE 或者 DATETIME
	-- DATE       年-月-日
	-- DATETIME   年-月-日 时:分:秒
DROP TABLE grade;
CREATE TABLE grade (
	id          INT(10) PRIMARY KEY AUTO_INCREMENT COMMENT 'id',
	english     DOUBLE(4,1) COMMENT '英语考试分数',
	grade_time  DATE    COMMENT '考试时间',
	user_id     INT(11)  COMMENT '用来放用户表的主键' # 外键
);

INSERT INTO grade(english) VALUE(72.5);
INSERT INTO grade(english,grade_time) VALUE(60.0,"2022-11-25");

INSERT INTO grade(english,grade_time,user_id) VALUE(60.0,"2022-11-25",2);
INSERT INTO grade(english,grade_time,user_id) VALUE(60.0,"2022-11-25",3);
INSERT INTO grade(english,grade_time,user_id) VALUE(70.0,"2022-11-20",2);
INSERT INTO grade(english,grade_time) VALUE(100.0,"2022-11-20");



/**
	MySQL是一个关系型数据库管理系统
	主键:是唯一标识符的数据,不能重复不许为空,用来保证数据完整性
	外键:值是另一个表的主键,外键可以为空,也可以重复,用来建立两张表的关联关系 
*/
-- 垃圾数据
INSERT INTO grade(english,grade_time,user_id) VALUE(90.0,"2022-11-25",5);


-- 主外键约束(创建表之后加、有垃圾数据之后就加不上了)
-- 避免垃圾数据
-- ALTER TABLE 成绩表 ADD CONSTRAINT 约束名称 FOREIGN KEY(成绩表的外键) REFERENCES 用户表(用户表的主键);
ALTER TABLE grade ADD CONSTRAINT fk_users_grade FOREIGN KEY(user_id) REFERENCES users(id);

-- 删除主外键约束
-- ALTER TABLE 外键表 DROP FOREIGN KEY 约束名称;
ALTER TABLE grade DROP FOREIGN KEY fk_users_grade;

-- ★★★★★★★★★★★★★★★★  重点 End ★★★★★★★★★★★★★★

-- 修改语句(通过WHERE 添加条件)
-- update 表名 set 字段 = 值 where 条件 = 值;
UPDATE grade SET english = 90 WHERE user_id = 3;
UPDATE grade SET english = 100;


-- 删除语句
-- DELETE FROM 表名 WHERE 条件 = 值;
DELETE FROM grade WHERE user_id = 5;


SELECT * FROM grade;
SELECT * FROM users;

开启服务

net start mysql;

关闭服务


net top mysql;

 

最后修改于 2022-12-02 09:02:34
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇