目录
MySQL
数据库
以前通过IO流技术自己对数据进行操作,需要书写大量的程序代码,程序的质量不能保证,而且开发周期很长, 在互联网行业中 任何使用频繁又很复杂的部分,通常都会有人提供一套通用的解决方案,数据库软件就是三方公司提供的对数据进行增删改查操作的方案,作为程序员,咱们只需要学习如何使用数据库软件,要和数据库软件进行交流需要学习一门语言,叫做SQL.
- Structured Query Language: 结构化查询语言.
- DBMS: DataBase数据库Management管理System系统(俗称数据库软件).
常见的DBMS:
1. MySQL: 市占率排名第一, Oracle公司产品,08年被Sun公司收购,09年Sun被Oracle收购. 开源软件, MariaDB(前身就是MySQL)
2. Oracle: 市占率排名第二,Oracle公司产品, 老板 拉里埃里森 32 闭源 性能最高价格最贵
3. SQLserver: 市占率排名第三,微软产品 闭源
网站完整解决方案: 开发语言+web服务器软件+数据库软件+操作系统
4. DB2: IBM公司产品, 应用在IBM整套解决方案中.
5. SQLite: 轻量级数据库. 主要应用在移动设备和嵌入式设备中
开源和闭源
- 开源:开发源代码,免费, 盈利方式:靠卖服务赚钱 , 有技术大拿无偿升级维护
- 闭源:不公开源代码,收费,盈利方式:靠卖产品+卖服务, 有技术大拿攻击产品(但是没事儿公司有钱 养着一群人维护升级产品)
如何连接MySQL
1. windows: 开始菜单-> 所有程序->MySQL->MySQL Client ->输入密码 回车
2. linux: 桌面 右键 打开终端->mysql -uroot -p 回车-> 输入密码 回车
退出连接: exit;
- DDL Data Definition Language 数据定义语言
MySQL数据库服务软件中,需要保存数据的话, 先建库再建表.
数据库模拟区域
数据库相关
1. 查询所有数据库
- 格式: show databases;
2. 创建数据库
- 格式: create database 数据库名;
- 指定字符集格式: create database 数据库名 character set utf8/gbk;
create database db1;
create database db2 character set gbk;
3. 查看数据库详情
- 格式: show create database 数据库名;
show create database db1;
4. 删除数据库
- 格式: drop database 数据库名;
drop database db2;
drop database db1;
5. 使用数据库
- 格式: use 数据库名;
create database db1;
use db1;
练习:
1. 分别创建mydb1和mydb2数据库 第一个是gbk第二个是utf8
create database mydb1 character set gbk;
create database mydb2 character set utf8;
2. 创建完后查询两个是不是都存在
show databases;
3. 查询两个字符集是否正确
show create database mydb1;
show create database mydb2;
4. 先使用mydb1再使用mydb2
use mydb1;
use mydb2;
5. 删除两个数据库
drop database mydb1;
drop database mydb2;
表相关
切记操作表和数据时一定要保证已经使用了数据.
create database db1;
use db1;
1. 创建表
- 格式: create table 表名(字段1名 字段1类型,字段2名 字段2类型);
create table person(name varchar(10),age int);
练习:创建学生表(student) 字段:学号id,姓名name,语文chinese,数学math
create table student(id int,name varchar(10),chinese int,math int);
2. 查询所有表
- 格式: show tables;
3. 查询表详情
- 格式: show create table 表名;
show create table person;
4. 创建表时指定字符集
- 格式: create table 表名(字段1名 字段1类型,字段2名 字段2类型) charset=utf8/gbk;
create table t1(name varchar(10)) charset=gbk;
create table t2(name varchar(10)) charset=utf8;
5. 查询表字段
- 格式: desc 表名;
desc student;
6. 删除表
- 格式: drop table 表名;
drop table t1;
drop table t2;
7. 添加表字段
- 最后添加格式: alter table 表名 add 字段名 类型;
- 最前面添加格式: alter table 表名 add 字段名 类型 first;
- 在xxx字段后面添加: alter table 表名 add 字段名 类型 after xxx;
alter table person add gender varchar(5);
alter table person add id int first;
alter table person add salary int after name;
8. 删除表字段
- 格式: alter table 表名 drop 字段名;
alter table person drop salary;
9. 修改表字段
- 格式: alter table 表名 change 原名 新名 新类型; <