MySQL学习笔记(1)数据表操作

---在test数据库下创建数据表employee---
CREATE TABLE employee(
	id SMALLINT,
	num CHAR(10),
	name VARCHAR(20),
	sex ENUM('男','女'),
	birthday DATE,
	address VARCHAR(50),
	salary FLOAT(8,2)
	);

--查看test数据库下的所有表
SHOW TABLES;

--查看指定数据表employee的详细信息
SHOW CREATE TABLE employee;

-- 查看employee表的表结构
DESC employee;

DESCRIBE employee;

SHOW COLUMNS FROM employee;

-- 删除employee表

DROP TABLE IF EXISTS employee;


---添加记录---
INSERT employee VALUES(1,'8133500125','张三','男','1969-05-18','无锡万科城市花园',8010.75);
INSERT employee(name,birthday)VALUES('小王','1990-09-05');

---查询记录---
SELECT * FROM employee;

---非空约束----
CREATE TABLE t1(
  id SMALLINT NOT NULL,
  name VARCHAR(20)
  );
--测试
INSERT t1 VALUES(NULL,'tom');

---自增,主键约束----
---列级---
CREATE TABLE t2(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT
  );

---表级---
CREATE TABLE t2(
  id SMALLINT  AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT,
  PRIMARY key(id)
  );
--测试
INSERT t2 VALUES(NULL,'tom',20),
                (NULL,'rose',22);

---唯一约束---
---列级---
CREATE TABLE t3(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT,
  num CHAR(10) UNIQUE
  );
---表级---
CREATE TABLE t3(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT,
  num CHAR(10),
  UNIQUE(num)
  );
--测试
INSERT t3 VALUES(NULL,'tom',20,101),
                (NULL,'rose',22,102);

---默认约束只有列级约束---
CREATE TABLE t4(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  sex ENUM('男','女') DEFAULT '男',
  num CHAR(10) UNIQUE
  );

---外键约束---
---父表---
CREATE TABLE province(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  pname VARCHAR(10) NOT NULL UNIQUE
  );
INSERT province(pname) VALUES('江苏'),('湖北');
                          
---子表表级约束---
 CREATE TABLE users(
 	id SMALLINT PRIMARY KEY AUTO_INCREMENT,
 	name VARCHAR(20) NOT NULL,
 	pid SMALLINT ,
 	FOREIGN KEY(pid) REFERENCES province(id)
 	 	); 

 CREATE TABLE users(
  id SMALLINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  pid SMALLINT ,
  CONSTRAINT pid_id FOREIGN KEY(pid) REFERENCES province(id)
    );

 INSERT users VALUES(NULL,'tom',1);
 INSERT users VALUES(NULL,'rose',NULL);
 INSERT users VALUES(NULL,'tina',3);
--测试

---增加列---
ALTER TABLE users ADD age TINYINT AFTER name;
ALTER TABLE users ADD address VARCHAR(50) FIRST;



---删除列----
ALTER TABLE users DROP address ;


---增加主键---

CREATE TABLE USERS1(
 id SMALLINT,
 name VARCHAR(20) NOT NULL,
 pid SMALLINT
 );

ALTER TABLE users1 ADD  PRIMARY KEY(id);
---删除主键---

ALTER TABLE users1 DROP  PRIMARY KEY;


---增加唯一约束---
ALTER TABLE users1 ADD  UNIQUE(name);

---删除唯一约束---
SHOW INDEXES FROM users1\G;

ALTER TABLE users1 DROP INDEX name;


----增加外键----

ALTER TABLE users1 ADD FOREIGN KEY(pid) REFERENCES province(id);

----删除外键----
ALTER TABLE users1 DROP FOREIGN KEY users1_ibfk_1;


---修改列定义-----
ALTER TABLE users1 MODIFY name VARCHAR(30) AFTER pid;

---修改列名称----
ALTER TABLE users1 CHANGE name username VARCHAR(50);

----改表名----
ALTER TABLE users1 RENAME TO users_p;
RENAME TABLE users_p TO newusers;

--改存储引擎
ALTER TABLE employee ENGINE=MyISAM;

--改字符集
ALTER TABLE employee CHARSET=GBK;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值