java二阶段week02_数据库

2021-06-28 20:46发布

数据库操作系统

DDL表操作:

-- DDL表操作
/*
创建create 修改alter
*/
-- 创建一张表  关键字要用反引号括起来才能使用
CREATE TABLE IF NOT EXISTS `user`(
uid INT,
uname VARCHAR(20),
ser VARCHAR(20),
age INT,
hobby VARCHAR(20)
);
-- 查看表结构
DESC `user`;
-- 修改表名  rename重命名
ALTER TABLE `user` RENAME student;
-- 修改字段名
ALTER TABLE student CHANGE ser sex VARCHAR(20);
DESC student;
-- (1)添加一列  add  默认在最后进行添加
ALTER TABLE student ADD grade DOUBLE;
-- (2)添加一列  add  first在最前面添加
ALTER TABLE student ADD aa INT FIRST;
-- (3)添加一列  add  在指定字段后面进行添加
ALTER TABLE student ADD bb INT AFTER age;
-- 修改字段类型
ALTER TABLE student MODIFY sex INT;
-- 修改一列
ALTER TABLE student CHANGE bb cc INT;
-- 删除表
DROP TABLE student;
DESC student;

DDL库操作:

# 注释写法
-- ctrl+滚轮  调节字体大小
/*
sql语言不区分大小写
*/
#DDL库操作  创建数据库,修改,删除
-- 创建一个默认值字符集的数据
CREATE DATABASE db1;
-- 创建一个指定字符集的数据库
CREATE DATABASE IF NOT EXISTS db2 CHARSET utf8;
CREATE DATABASE db2 CHARACTER SET utf8;
-- 切换指定数据库
USE db2;
-- 查看数据库的创建信息
SHOW CREATE DATABASE db2;
-- 查看所有的数据库
SHOW DATABASES;
-- 修改数据库的字符集
CREATE DATABASE db3 CHARACTER SET gbk;
ALTER DATABASE db3 CHARSET utf8;
SHOW CREATE DATABASE db3;
-- 删除数据库
DROP DATABASE db3;

DML数据操作:

# DML 数据操纵语言 对表中数据进行添加、删除、修改操作
#insert 添加  update 修改 delete 删除
CREATE TABLE student1(
sid INT,
sname VARCHAR(20),
sex VARCHAR(20),
age INT,
hobby VARCHAR(20)
);
-- 字符串可用单引号  和  双引号
-- 添加数据   每次执行insert语句都会另起一行进行添加
INSERT INTO student1(sname) VALUES('张三');
INSERT INTO student1(sid,sex,age,hobby) VALUES(1,'男',17,'吃饭');
INSERT INTO student1(sid,sname,sex,age,hobby) VALUES(2,'李四','男',20,'吃饭');
-- 给表中所有字段添加数据可以使用简写的格式
INSERT INTO student1 VALUES(3,'马保国','男',68,'\'接\'\'化\'\'发\'');
-- 一次添加多条数据
INSERT INTO student1(sid,sname,sex,age,hobby)
VALUES(4,'王五','男',20,'吃饭'),
(5,'小红','女',32,'冲'),
(6,'洋老板','男',12,'被冲'),
(7,'洋妹儿','女',88,'被冲');
-- 修改 update
-- 带条件的修改
-- 修改张三的爱好为炒股
UPDATE student1 SET hobby = '炒股' WHERE sname = '张三';
-- 修改张三的sex = 男  age= 17
UPDATE student1 SET sex = '男' , age = 17 WHERE sname = "张三";
-- 修改sid的1000 的姓名为王小二
-- 语法对了不对报错   但是条件不满足不会更新
UPDATE student1 SET sname = '王小二' WHERE sid = 1000;
-- 不带条件的修改  修改表中所有数据
UPDATE sstudent1studentstudent1tudent1 SET sex = '女';
-- 删除  delete
-- 一般都是带条件的删除
-- 删除姓名为张三的数据
DELETE FROM student1 WHERE sname = '张三';
DELETE FROM student1 WHERE age = 17;
-- 不带条件的删除 就是清除表中数据
DELETE FROM student1;
-- 销毁表
DROP TABLE student1;
-- 清空表中数据
TRUNCATE TABLE student1;

/*
两种清空表的区别:
1.delete后可以跟where,truncate不可以
2.delete一条一条的删除,truncate直接将表销毁,再创建一个跟原来的表结构相同的空表
3.delete支持事务,truncate不支持事务
4.delete清空表主键自增还是从最大值进行自增,truncate自增是从1开始的EventsEventsEvents
*/

DQL查询操作:

-- select 查询
-- 查询所有
SELECT * FROM student1;
-- 查询单列
SELECT sname FROM student1;
-- 查询多列
SELECT sname,age FROM student;
-- 给列名别名as  可以省略
SELECT sname AS 姓名,age 芳龄 FROM student1;
-- 条件查询  where查询姓名为张三的信息
SELECT * FROM student1 WHERE sname = '张三';
-- 多条件查询  查询性别为女 AND 姓名为小红的信息
SELECT * FROM student1 WHERE sex = '女' AND sname = '小红';
-- 多条件查询  查询性别为女 OR 姓名为小红的信息
SELECT * FROM student1 WHERE sex = '男' OR sname = '王五';
-- 运算符  >、<、>=、<=、!=、<>
SELECT * FROM student1 WHERE age >= 17 AND age <= 21;
-- 范围查询  between...and...
SELECT * FROM student1 WHERE age BETWEEN 17 AND 21 AND sex = '女';
-- 性别不为男的信息
SELECT * FROM student1 WHERE sex <> '男';

Mysql数据类型:

/*
整数类型 int bigint(long) smallint(short) tinyint(byte)

小数类型

 double(n,m) float

 n代表整数位+小数位的和  
 
 m代表小数位数

字符串类型

 varchar(位数) 可伸缩 位数10位,存储了2位,实际2位