数据库:
1)就是用来存储数据的那个文件
2)excel表格、word文档、txt文件都可以存储数据,这些都可以认为是数据库文件
如何理解数据库
1)数据库是其实是一个目录
2)在数据库目录下会存放一个多个数据文件
3)在每个数据文件中会存储具体的数据
数据库管理软件:
1)通过数据库管理软件,可以实现对数据库
2)数据库中的数据文件
3)数据文件中的数据进行管理操作
对数据进行的操作
1)增:在数据文件中添加新的数据
2)删除数据库、删除数据库中的表、删除表中的数据
3)修改表中的数据
4)从数据表中找到希望看到的数据
常用的数据库管理软件
1)MySQL:
开源,免费
跨平台:可以运行windows、linux、mac
稳定
轻量级:mysql运行期间占用系统资源少
2)Oracle:
收费
有完善的技术支持服务
跨平台:可以运行windows、linux、mac
稳定
重量级
3)SQL Server:
收费
有完善的技术支持服务
不能跨平台,只能运行在windows
4)DB2:
开源:
1)用户可以看到、修改、使用程序的源代码
mysql的版本:双授权
1)商业版:收费
2)社区版:免费
mysql的版本号
1)mysql 5.0:正统mysql
2)mysql 5.3-5.5:
3)mysql 5.7
4)mysql 8.0
mysql官网:http://www.mysql.com
常用词汇
download:下载
operating system:操作系统
develop:开发
developer:程序员
default:默认
server:服务端
client:客户端
zip:压缩
步骤:
数据库的概念
1)记录:数据库文件中,每一行,都是一条记录
2)字段:数据库文件中,每一列,都是一个字段
二、mysql入门mysql的用户
1)默认的管理员用户:root
使用mysql的方法
1)第一步:登录/链接mysql
2)第二步:执行sql命令
登录mysql的方法
1)第一种:用mysql自带的客户端工具
优点:不需要安装额外的软件就可以使用,很方便
缺点:只能通过命令来完成操作,操作过程有一定的门槛
操作步骤:
第二种:用第三方的客户端工具【Navicate】
优点:可以用图形化的方式来操作,门槛更低
缺点:软件收费
操作步骤:
用Navicat登录mysql
1)主机:mysql所在的服务器的IP地址、
如果是链接自己电脑上的mysql,这里就写自己的IP或者写localhost
2)端口号:3306
3)用户名:root
4)密码:
补充:
1)如果向远程链接其他主机上的mysql
2)不仅仅需要知道远程主机的用户、密码,还必须在远程主机上对用户进行授权,才能进行登录
mysql的用户
格式:
用户名@主机地址
案例:
"root"@"192.168.0.13"
1)root指定的是用户名
2)192.168.0.13指定的是,root用户仅仅可以从192.168.0.13地址进行登录
mysql创建用户
授权用户可以管理所有的库和表 GRANT ALL ON *.* TO "用户名"@"主机" IDENTIFIED BY "密码"; 授权用仅仅可以管理指定的库中的全部的表 GRANT ALL ON 库名.* TO "用户名"@"主机" IDENTIFIED BY "密码"; 授权用仅仅可以管理指定的库中的指定的表 GRANT ALL ON 库名.表名 TO "用户名"@"主机" IDENTIFIED BY "密码";
图标的操作
案例:创建用户,用户名叫tom,可以在192.168.0.121主机登录,可以管理所有的库的所有表,密码设置为123
GRANT ALL ON *.* TO "tom"@"192.168.0.121" IDENTIFIED BY "123";
案例:创建用户,用户名叫jerry,可以在192.168.0.112主机登录,可以管理所db03库的所有表,密码设置为123
GRANT ALL ON db03.* TO "jerry"@"192.168.0.112" IDENTIFIED BY "123";
三、操作数据库
1、简介
对于数据库的操作会分成几个部分
1)操作库
2)操作表
3)操作数据
2、操作库
1)查看有哪些库
2)新建数据库
3)删除数据库
操作1:创建数据库
CREATE DATAbase 库名 CHARACTER SET 字符集 COLLATE 排序规则;
1)如果不是指定字符,往往会导致出现中文乱码
2)字符集一般设置为utf8
案例:创建数据库db001,设置字符集为utf8
CREATE DATAbase db001 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
操作2:查看系统中有哪些数据库
show databases;
操作3:删除数据库
DROP DATAbase 库名
案例:删除数据库db001
DROP DATAbase db01;
3、操作表
1)查看当前库中有那些表
2)新建表
3)删除表
注意:
1)表是在库中
2)对于表的操作,需要明确指定,操作的是那个库中的表
3)在操作表之前,必须首先选定一个数据库
选定数据库:
格式:
USE 库名
操作1:查看当前库中有那些表
show tables;
案例:查看world和db03库中有那些表
use world # 选择一个数据库world show tables; # 查看world库中有哪些表 use db03; # 选择一个数据库db03 show tables; # 查看db03库中的表
操作2:新建表
1)表中的每一列都是一个字段
2)每个字段只能储存一个类型的数据
3)数据类型:
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:查看一个已经存在的表的表结构
1)查看表中有几个字段,分别是什么属性,这个操作,称之为查看表结构
desc 表名
案例:查看db1中的tb002的表的表结构
use db1; # 选择数据库 desc tb002; # 查看表结构【如果这个表不存在的,则会报错】
操作4:删除表
drop table 表名
案例:删除db1中的tb002表
use db1; drop table tb002;
4、字段的修饰
1)int:整形【整数类型】
2)unsigned:表示这个数字是无符号数字【只能是正数】
3)float:浮点型【小数类型】
4)char:字符串类型【无论储存多少个数据,占用内存空间大小是固定的】
5)varchar:字符串【内存空间会随着存储的数据变多,而变大】
6)enum:枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】
7)null:这个字段可以为空【这个字段中可以不写入内容】
8)not null:这个字段中不可以为空【这个字段中必须得写入数据,否则报错】
9)primary key:主键,用来唯一标识表中的一条记录【主键的内容不能是重复的】
10)auto-increment:设置主键自增
11)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
注释:
1)第一列:Field,这一列中记录的每个字段的字段名
2)第二列:Type,这一列中记录的每个字段的属性
3)第三列:Null,这一列中记录的每个字段是否可以为空
YES,表示这个字段可以为空
NO,表示这个字段必须得有内容,不能为空
4)第四列:KEY,这一列中记录的哪个字段是主键,字段是主键,这个位置会出现PRI
5)第五列:Default,这一列中记录的每个字段是否有默认值
如果没有的话,默认会显示为Null
6)第六列:Extra,这一列中记录的每个字段的额外的属性
比如主键自增特性会显示在这里
5、在表中插入数据
格式1:向表中的全部字段都添加数据
insert into 表名 values(值1,值2,值3)
案例:向表中插入两条数据
use db1; insert into tb005 values(1,"tom",18,'M',"tianjin"); insert into tb005 values(16,"jerry",33,"F","shanghai");
注意:
插入数据的顺序和数据类型必须要和表格显示的结果一致



