很多java初学不了解数据库的相关操作,今天思途Java培训讲师就为大家讲解数据库的一些相关操作,首先来看一下SQL语句的先关分类:
1、SQL语句分类
数据定义语言:DDL,用来定义数据库对象:数据库、表、列等。
关键字是:create、alter、drop等。
数据操作语言:DML,用来对数据库中表的记录进行更新。
关键字是:insert、delete、update等。
数据控制语言:DCL,用来定义数据库的访问权限和安全级别,以及创建用户。
数据查询语言:DQL,用来查询数据库中表的记录。
关键字是:selete、from、where等。
2、SQL 多表查询语句
学生表student、班级表banji、课程表Course、班级课程表banji_course
-- 班级表
CREATE TABLE banji(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(10) NOT NULL
);
INSERT INTO banji(NAME) VALUES('java1707');
INSERT INTO banji(NAME) VALUES('java1711');
-- 学生表
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(10) NOT NULL,
age INT,
gender CHAR(1),
address VARCHAR(50),
banji_id INT,
FOREIGN KEY(banji_id) REFERENCES banji(id)
);
INSERT INTO student(NAME,age,gender,address,banji_id)
VALUES('张三',20,'男','青岛',2);
INSERT INTO student(NAME,age,gender,address,banji_id)
VALUES('李四',22,'男','青岛',2);
INSERT INTO student(NAME,age,gender,address,banji_id)
VALUES('王五',22,'女','济南',1);
-- Cannot add or update a child row: a foreign key constraint fails
INSERT INTO student(NAME,age,gender,address,banji_id)
VALUES('赵六',20,'女','济南',3);
-- 课程表
CREATE TABLE course(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(10) NOT NULL,
credit INT
);
INSERT INTO course(NAME,credit) VALUES('Java', 5);
INSERT INTO course(NAME,credit) VALUES('UI', 4);
INSERT INTO course(NAME,credit) VALUES('H5', 4);
-- 班级课程表banji_course
CREATE TABLE banji_course(
banji_id INT,
course_id INT,
PRIMARY KEY(banji_id,course_id), -- 作为联合主键
FOREIGN KEY(banji_id) REFERENCES banji(id), -- banji_id既是联合主键又是外键
FOREIGN KEY(course_id) REFERENCES course(id) -- course_id既是联合主键又是外键
);
INSERT INTO banji_course(banji_id,course_id) VALUES(1,1);
INSERT INTO banji_course(banji_id,course_id) VALUES(1,2);
INSERT INTO banji_course(banji_id,course_id) VALUES(1,3);
INSERT INTO banji_course(banji_id,course_id) VALUES(2,2);
INSERT INTO banji_course(banji_id,course_id) VALUES(2,3);
3、数据库操作
-- 列出所有的数据库
SHOW DATABASES;
-- 创建数据库
CREATE DATABASE ttt DEFAULT CHARACTER SET utf8;
-- 显示创建数据库的语句
SHOW CREATE DATABASE ttt;
-- 删除数据库
DROP DATABASE ttt;
4、表创建操作
-- 切换数据库
USE mysql_test;
-- 创建表
CREATE TABLE student(
NAME VARCHAR(10), -- char(10)
age INT
);
CREATE TABLE teacher(
NAME VARCHAR(10), -- char(10)
age INT
);
-- 查看所有的表
SHOW TABLES;
-- 更改表结构
-- 添加字段
ALTER TABLE student ADD COLUMN address VARCHAR(50);
-- 删除字段
ALTER TABLE student DROP COLUMN address;
-- 修改表的名字
ALTER TABLE student RENAME TO stu;
思途教育专注于Java培训,从0基础开始学起,项目经理手把手教学,签订就业协议,保障学员就业,8年时间20余位行业项目经理共同研发欧洲案例教学的IT培训理念,培训过程中贯穿百余个商业项目,让学员在4-6月的培训时间内获得1-2年的项目开发经验。为企业不断输送“有效人才”。思途的服务理念是让高薪就业更简单!