数据库:用来储存数据的文件,就是数据库。
数据库管理软件:通过这些软件可以实现快速的在数据表中进行数据的读和写操作
- MYSQL:免费
- Oracle:收费(最贵)
- SQL Server:微软;收费
- DB2:收费
mysql的特点
- 开源的数据(跨平台:支持运行在Windows,linux,mac等众多系统)
- 轻量级:mysql运行期间占用的内存/cpu较少
- 稳定性好
- 授权:软件有两个版本为商业版,社区版
商业版:收费版,收费后,有完善的售后技术支持
社区版:免费版,无售后技术支持
开源:
-
用户可以查看、修改、使用程序的源码
mysql的版本
5.0,5.1,5.2,5.3,5.5,5.7 (主流版本),8.0
mysql的默认端口号:
-
3306
登录mysql是需要客户端工具
-
自带工具:
-
第三方工具:Navicat for mysql
数据库的操作
-
操作1:创建数据库
-
操作2:删除数据库
-
操作3:查看当前有哪些库
创建数据库的操作
1.create database 库名;
2.通过图形化界面做。
删除数据库的操作{注:不要删除系统自带}
1.通过命令 :drop database 库名
2.通过图形化界面
查看当前都有哪些数据库
1.方法:通过图形界面
2.方法:通过命令查看 show databases
补充:
-
数据库其实是一个文件夹,create database、drop database、show databases操作的都是文件夹
-
在这个文件夹里有一张一张的表
-
具体的数据是存在表中的
选择数据库
方法:use 库名;
查看有哪些表
方法:show tables;
例:查看world库中有哪些表
use world;
show tsbles;
操作2:查看系统中有哪些数据库
show databases;
操作3:删除数据库
DROP DATABASE 库名
案例:删除数据库db01
DROP DATABASE db01;
3、操作表
-
查看当前库中有哪些表
-
新建表
-
删除表
注意:
-
表是在库中
-
对于表的操作,需要明确指定,操作的是哪个库中的表
-
在操作表之前,必须首先 选定一个数据库
选定数据库
USE 库名
操作1:查看当前库中有哪些表
show tables;
案例:查看world和db03库中有哪些表
use world # 选择一个数据库world show tables; # 查看world库中有哪些表 use db03; # 选择一个数据库db03 show tables; # 查看db03库中的表
操作2:新建表
-
表中的每一列都是一个字段
-
每个字段只能存储一个类型的数据
-
数据类型:
-
int:整型【整数类型】
-
float:浮点型【小数类型】
-
char:字符类型【无论存储多少个数据,占用内存空间大小固定】
-
varchar:字符类型【内存空间会随着存储的数据变多,而变大】
-
创建表的格式
CREATE TABLE 表名 ( 字段名 类型 属性.. , 字段名 类型 属性.. , 字段名 类型 属性.. );
案例:在db1库中,新建表tb001,表中有四个字段
-
字段1:name,存储字符串类型,定长
-
字段2:age,存储的整型
-
字段3:tel,存储的整型
-
字段4:addr,存储的是字符串,可变长度
use db1; # 选定一个数据库 # 创建表 tb002 create table tb002 ( name char(30) , # 第一个字段,取名为name,属性是char(30) age int, tel int, addr varchar(100));
操作3:查看一个已经存在的表的表结构
-
查看表中有几个字段,分别是什么属性,这个操作,称之为查看表结构
desc 表名
案例:查看db1中的tb002表的表结构
use db1; # 选择数据库 desc tb002; # 查看表结构【如果这个表不存在的,则会报错】
操作4:删除表
drop table 表名
案例:删除db1中的tb002表
use db1; drop table tb002;
4、字段的修饰
-
int:整型【整数类型】
-
unsigned:表示这个数字是无符号数字【只能是正数】
-
float:浮点型【小数类型】
-
char:字符类型【无论存储多少个数据,占用内存空间大小固定】
-
varchar:字符类型【内存空间会随着存储的数据变多,而变大】
-
enum:枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】
-
null:这个字段可以为空【这个字段中可以不写入内容】
-
not null:这个字段不可以为空【这个字段中必须得写入数据,否则报错】
-
primary key:主键,用来唯一标识表中的一条记录【主键的内容不能重复】
-
auto_increment:设置主键自增
-
default:设置字段的默认值
案例:在db1中,创建一个新表,表名tb004,字段信息如下
-
id 主键 整数 非负 不允许为空 自增
-
name 字符类型,最多30个字符,不允许为空
-
age 整数 非负 可以为空
-
gender 枚举类型 可以为空
-
addr 字符类型 最多100个字符 设置默认值hebei
# 第一步:选择数据库 use db1; # 第二步:创建表 create table tb005( id int unsigned auto_increment not null primary key , name char(30) not null, age int unsigned, gender enum("M","F"), addr char(100) default "hebei"); # 第三步:查看db1库中的表 show tables; # 第四步:查看tb005表的表结构 desc tb005
注释
-
第一列:Field,这一列中记录的每个字段的字段名
-
第二列:Type,这一列中记录的每个字段的属性
-
第三列:Null,这一列中记录的每个字段是否可以为空
-
YES,表示这个字段可以为空
-
NO&
-