MySql基础
1.数据库概述
数据存储的几种方式
1. 使用集合等方式将数据保存在内存中,但是数据不能持久化保存,断电/程序退出,数据就清除了
2. 将数据保存在普通文件中,可以持久化保存,但是查找,增加,修改,删除数据比较麻烦,效率低
所以我们需要一个既可以持久化保存数据又可以方便操作的地方来存储数据,这就是使用数据库存储
什么是数据库
数据库(DataBase,DB):
指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合. 还是以文件的方式存在服务器的电脑上的。
说白了就是数据的仓库, 用来持久化保存数据的.
常见的关系型数据库
- MySql :开源免费的数据库,中小型的数据库,已经被Oracle收购了。MySql6.x版本也开始收费。后来Sun公司收购了MySql,而Sun公司又被Oracle收购
- Oracle:收费的大型数据库.Oracle公司的产品.Oracle收购SUN公司,收购MySql.
- DB2:IBM公司的数据库产品,收费的.银行系统中.
- SQLServer:MS公司.收费的中型的数据库.
- SyBase:已经淡出历史舞台.提供了一个非常专业数据建模的工具PowerDesigner.
- SQLite: 嵌入式的小型数据库,应用在手机端.
数据库的存储结构
数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
数据库管理系统、数据库和表的关系如图所示:
SQL概述
什么是sql
sql指的是结构化查询语言
sql的分类
- Data Definition Language (DDL数据定义语言) 如:操作数据库,操作表
- Data Manipulation Language(DML数据操纵语言),如:对表中的记录操作增删改
- Data Query Language(DQL 数据查询语言),如:对表中的记录查询操作
- Data Control Language(DCL 数据控制语言),如:对用户权限的设置
DDL数据库定义语言-数据库操作
创建数据库
create database db_hugo;
create database db_hugo character set utf8;
查看数据库
show databases;
show create database db_hugo;
删除数据库
delete database db_hugo;
修改数据库
alter database db_hugo character set gbk;
数据库的其它操作
-- 切换数据库
user db_hugo;
-- 查看正在使用的数据库
select database();
DDL数据库定义语言-表操作
创建表
create table student (
id int PRIMARY KEY auto_increment ,
name VARCHAR(16),
gender int
);
查看表
查看所有的表
show tables;
查看指定表的表结构
desc db_hugo;
修改表
增加字段
-- 添加一个年级字段
alter table student add grade int;
desc student;
修改列的类型约束
-- 将gender字段修改为varchar类型
alter table student MODIFY gender varchar(1);
desc student;
修改列的名称,类型,约束
-- 将grade字段的修改为class字段
alter table student CHANGE grade class int(6);
desc student;
删除列
-- 删除class字段
alter table student drop class;
desc student;
修改表名
-- 将student表修改为tb_student
rename table student to tb_student;
show tables;
删除表
drop table db_hugo;