栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL笔记5——数据库和数据表管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL笔记5——数据库和数据表管理

学习目的:了解MySQL数据库中数据库的创建和删除,掌握数据表结构的创建、修改和删除,掌握约束的添加、修改和删除

重点:

  • 表结构的创建、修改和删除
  • 约束的类型
  • 约束添加、修改和删除

难点:

  • 表结构的修改
  • 约束的添加
-- 1.数据库管理
 -- 1.1创建数据库 CREATE DATABASE  [IF NOT EXISTS] 数据库名
CREATE DATABASE IF NOT EXISTS MySQLDB;
 -- 1.2 删除数据库
DROp DATABASE MySQLDB;

-- 2.数据表管理
 -- 2.1创建表


-- 2.2数据类型
-- 2.3约束(四种):
-- 							主键约束 (PRIMARY KEY)
-- 							唯一约束 (UNIQUE)
-- 							非空约束 (NOT NULL)
-- 							外键约束 (FOREIGN KEY)

-- 非空约束
CREATE TABLE test01(
uname VARCHAr(10) NOT NULL,  
gender CHAr(1),
);
INSERT INTO test01 	VALUES('tom',NULL); 
INSERT INTO test01 	VALUES('NULL',NULL); 
INSERT INTO test01 	VALUES('',NULL); 	
INSERT INTO test01 	VALUES('123',NULL); 
INSERT INTO test01 (gender) VALUES(NULL); 
SELECT * FROM test01;

-- 建表时提供默认值,可以在插入数据时忽略非空列
CREATE TABLE test02(
uname VARCHAr(10) NOT NULL DEFAULT 'haha',  
gender CHAr(1)
);
INSERT INTO test02 (gender) VALUES(NULL); 
SELECt * FROM test02;

-- 唯一约束
CREATE TABLE test03(
uname VARCHAr(10) UNIQUE
);
INSERT INTO test03 VALUES('aa');
INSERT INTO test03 VALUES('aa');
INSERT INTO test03 VALUES(NULL); 
INSERT INTO test03 VALUES(NULL); 
SELECt * FROM test03;

-- 设置主键
CREATE TABLE classes(
classes_id INT PRIMARY KEY,
classes_name VARCHAr(10),
classes_dept VARCHAr(10)
);

-- DROp TABLE classes;
INSERT INTO classes VALUES(1001,'java01','计算机');
INSERT INTO classes VALUES(1001,'java01','软件工程');

-- 设置外键
CREATE TABLE teacher(
teacher_id INT PRIMARY KEY AUTO_INCREMENT,
teacher_name VARCHAr(10),
cid INT,
-- 表级约束
FOREIGN KEY (cid) REFERENCES classes(classes_id)
);
-- 外键列的值必须在主表的主键值范围内
INSERT INTO teacher VALUES(NULL,'tom',1001);
INSERT INTO teacher VALUES(NULL,'tom',1002);
SELECT * FROM teacher;



CREATE TABLE Persons(
id INT NOT NULL,
p_name VARCHAr(20) NOT NULL,
deparment VARCHAr(20),
address VARCHAr(20),
telNum VARCHAr(20)
);

CREATE TABLE classes (
classes_id INT PRIMARY KEY,
classes_name VARCHAr(10),
classes_dept varchar(10)
);

CREATE TABLE teacher (
teacher_id INT PRIMARY KEY ,
teacher_name VARCHAr(10),
cid INT , 
FOREIGN KEY(cid) REFERENCES classes(classes_id)
);

-- 3.复制表
-- 3.1复制表使用like,约束也会复制过来,记录不复制
CREATE TABLE dept2 LIKE dept;
SELECt * FROM dept2;
-- 3.2复制表:使用子查询,主外键约束不会复制,(符合条件的)记录会复制
CREATE TABLE dept3 SELECt * FROM dept;
SELECt * FROM dept3;

-- 4.删除表
DROp TABLE dept6;

-- 5.表的重命名:两种方法
RENAME TABLE dept6 TO dept7;
ALTER TABLE dept6 RENAME dept7;

-- 6.本章小结
-- ● 掌握数据库的创建和删除管理
-- ● 了解mysq的约束和数据类型
-- ● 掌握表结构的创建、删除
-- 

-- 7.课后作业

-- 1. 创建与dept表相同表结构的表dtest,将dept表中部门编号在40之前的信息插入该表。
CREATE TABLE dtest SELECT * FROM dept WHERe deptno=40;
-- 2. 创建与emp表结构相同的表empl,并将其部门编号为前30号的员工信息复制到empl表。
CREATE TABLE emp1 SELECt * FROM emp WHERe deptno<=30;

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016694.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号