-- 库
-- 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
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

