数据库操作 Day 6

数据库:

数据在内存:

  • 优点:读写速度快。
  • 缺点:程序结束数据丢失。

数据保存到文件:

  • 优点:数据可以永久保存。
  • 缺点:1.频繁的IO操作,效率低。
    2.数据的管理非常不方便,需要把所有的数据整体都读取出来才能操作。

数据库:

  • 数据永久保存。
  • 管理方便。

Mysql

一:数据库操作:

创建数据库

CREATE DATABASE school DEFAULT CHARACTER SET UTF8;

  • SHOW DATABASES; 展示所有数据库。
    在这里插入图片描述

删除数据库

DROP DATABASE school;

二:数据库表的操作:

创建表

-- 建表
CREATE TABLE student(
		id INT,
		`name` CHAR(10),
		age INT,
		gender CHAR(1)
)
--查找所有表
SHOW TABLES;

在这里插入图片描述

查看表结构

-- 查看表结构
DESC student;

在这里插入图片描述

删除表

--删表
DROP TABLE student;

更改表结构

1.添加字段
-- 添加字段
ALTER TABLE student ADD COLUMN address CHAR(255);

在这里插入图片描述

2.修改字段
-- 修改字段
AlTER TABLE student CHANGE address addr char(20);

在这里插入图片描述

3.删除字段
-- 删除字段
ALTER TABLE student DROP COLUMN addr;

在这里插入图片描述

修改表名

-- 修改表名
ALTER TABLE student RENAME TO teacher;

在这里插入图片描述

添加主键和设置自增:
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
name CHAR(20),
age INT,
gender char(1)
)

三:表的基本操作

1.增

  • 1
-- 插入列(一次插一条)
INSERT INTO student(`name`,age,gender) VALUES("张三",1,"男");

在这里插入图片描述

  • 2
--插入列(一次插多条)
INSERT INTO student(`name`,age,gender) VALUES("李四",2,"女"),("王五",3,"男");

在这里插入图片描述

2.改

--修
UPDATE student SET gender="男" WHERE `name`="李四";

在这里插入图片描述

3.删

--删
DELETE FROM student WHERE `name`="李四";

在这里插入图片描述

4.查

SELECT * FROM student;

查询表的所有内容,不推荐,内容少时可以操作,建议需要哪个列就找哪个列。

  • 1
-- 查询指定列
SELECT `name`,age,gender FROM student WHERE id=1;

在这里插入图片描述

  • 2
-- 查询时候合并列,字段可以当成java里面的变量来运算
SELECT id,`name`,(php+java) AS '总成绩' FROM student;

在这里插入图片描述

  • – 查询时候去掉重复的记录
    SELECT DISTINCT address FROM student;

  • 查询时候添加常量列,通过as可以起别名
    SELECT id,name,age AS ‘年龄’ FROM student;

拓展:

1.聚合查询

在这里插入图片描述

2.查询排序

在这里插入图片描述

3.分组查询
  • 1
--分组查询
-- select后面的查询都是基于group by之后的
SELECT gender,COUNT(id) AS "个数" FROM student GROUP BY gender;

在这里插入图片描述

  • 2
-- group by之后的条件查询使用having
SELECT gender,COUNT(id) AS "个数" FROM student GROUP BY gender HAVING COUNT(id)>2;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kallenAB/article/details/125812585