-- 1、注册
-- 2、登录
-- 3、修改个人信息
-- 4、实名认证
USE demo;
--  PRIMARY KEY 主键 (具有唯一性 且 不能为空)
--  DEFAULT '' 默认值
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代表男'
);
-- 如果字段对应,可以省略掉表后面的字段
INSERT INTO users VALUE(1,"张三","123456",13918275623,60001,"510122141234123451");
INSERT INTO users(uname,upass,phone) VALUE("李四","123321",13914234321);
INSERT INTO users(uname,upass,phone) VALUE("王五","1123321",13916134321);
INSERT INTO users(uname,upass,phone) VALUE("张三","1123321",13916134321);

-- 不填非空 没有默认值 又不传值 1364
-- 危险操作
DROP TABLE users;
INSERT INTO users(upass,phone) VALUE("123321",13914234321);

-- 修改操作
-- 修改表名
-- 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) NOT NULL DEFAULT 1;
ALTER TABLE users ADD age INT(3);

-- 修改字段
-- ALTER TABLE 表名 CHANGE 老字段 新字段名 属性(3);
ALTER TABLE users CHANGE age aeg VARCHAR(10);
ALTER TABLE users CHANGE aeg age INT(3);

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

SELECT * FROM users;


/**
	Mysql MySQL是一个关系型数据库管理系统
	主外键
	主键:是唯一标识符的数据,不能重复不允许为空,用来保证数据的完整性
	外键:指的是另外一个表的主键,外键可以为空,也可以重复,用来建立两张表的联系

*/
-- 考试成绩表
-- DOUBLE(m,d) m总个数 d小数位数  99.5 100.0
-- mysql DOUBLE(m,d) = java double
-- mysql DATE = java Date() 对象
	-- 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,grade_time,user_id) VALUE(100.0,"2022-11-30",3);
INSERT INTO grade(english,grade_time,user_id) VALUE(60.0,"2022-10-22",2);
INSERT INTO grade(english,grade_time,user_id) VALUE(100.0,"2022-11-30",5);

SELECT * FROM users;
SELECT * FROM grade;
-- 王五在11月30日英语考试成绩为100分。
-- 王五在10月22日英语考试成绩为60分。


-- 垃圾数据
-- 主外键约束:为了避免垃圾数据 
-- 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;

-- 修改操作
-- UPDATE 表名 SET 字段名 = 值 WHERE user_id = 2;
UPDATE grade SET english = 90.0 WHERE user_id = 2;


-- 删除操作
DELETE FROM grade WHERE user_id = 3;

 

开启服务:

net start mysql

关闭服务:

net stop mysql

 

 

最后修改于 2022-11-30 18:57:20
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇