|
MYSQL数据库
学习目标:
掌握MYSQL基本知识
学习数据库管理和操作
掌握数据库设计方法
熟练运用SQL编程语言
基本概念
MYSQL数据库是关系型数据库。关系型:使用一个关系,来表示实体信息和实体之间的联系。
关系:就是二维表,有行有列的表格。
学生实体信息表
学号
姓名
性别
地区
班级名称
ITCAST-001
张
男
河北
PHP0311
ITCAST-75
王
女
湖南
JAVA0325
ITCAST-123
李
男
广西
IOS0218
ITCAST-156
赵
男
天津
NULL
班级实体信息表
班级名称
上课教室
PHP0311
103
JAVA0325
210
IOS0218
108
这两张表通过班级名称关联起来。
关系型数据库:就是由二维表及其之间的联系组成的数据组织。
同一个表中数据结构完全一致。
数据是由记录组成
记录是由字段组成。
SQL:结构化查询语言
专门用于处理关系型数据库编程语言。
PHP也是编程语言
变量,流程控制,函数
数据库服务器的结构
DBS = DBMS + DB
数据库系统 = 数据库管理系统 + 数据库(数据)
命令行客户端
数据在服务器上是如何存储的?
操作服务器
通过服务管理来操作服务器
开始->运行->services.msc
3306是MYSQL服务程序的默认端口号
可以用netstat –an命令查看服务是否启动
命令行命令控制服务器的启动和关闭
Net start mysql
Net stop mysql
错误原因:没有权限
解决办法:用管理员方式启动命令行窗口
C/S, client / server客户端/服务器方式访问数据库
命令行客户端工具
流程:
连接和认证,提供4个参数,分别是主机地址,端口号,用户名,密码
向MYSQL数据库服务器发送SQL
MYSQL服务器接收并执行SQL,并且把结果返回给客户端
客户端对结果进行显示
断开服务器连接。Exit, quit, \q
2,3,4这几步可以循环执行
知识:
非关系型数据库,NOSQL,not only sql
不仅仅是SQL
代表:redis, mongodb
数据存储有点象数组,key/value
SQL语言
存储数据:
首先建立数据库
之后建立数据表(字段定义)
操作数据
数据有哪些操作
CURD
CREATE UPDATE READ DELETE(DROP)
库操作,database
查看数据库,show
格式:show databases like ‘条件字符串’
还可以使用条件进行查询
通配符:% _
% 可以匹配任意长度的字符串,包括空字符串。
下划线可以匹配任意一个字符,不包括空字符串
数据库名命名规则:可以使用字母,下划线,数字
注意:
尽量不要使用系统保留字做为数据库、表、字段的名称
尽量全使用小写字母,原因是象linux系统是区分大小写,如果库名比较长,建议采用下划线连接,不要使用驼峰法。如:不建议userInro 建议使用user_info
匹配5 个字符的库名
查看数据库创建资料
格式:show create database if exists 数据库名;
创建数据库,create
简单方式
格式:create database 库名;
如果没有指定数据库的字符集,则使用数据库安装时的默认字符集。
有四个级别的字符集:
服务器级
数据库级
数据表级
字段级(字符串类的字段)
数据库服务器在安装时会要求指定默认字符集
并不是说数据库只支持这一种字符集!
容错方式创建数据库
库名的包裹方法
就是用反引号把系统保留做库名的名称包裹起来
当然库名表名字段不是保留字最好也加上反引号。
MYSQL里是UTF8,不是UTF-8
修改数据库,alter
格式:alter database 数据库名 选项
我们都有什么选项:字符集和校对规则
每创建一个数据库都会有一个db.opt文件
删除数据库,drop
格式:drop database if exists 库名;
如果删除数据库,则数据库所有数据及文件全部都没了!
表操作,table
创建表,create
格式:create table 表名 (字段定义) 表选项
为什么报错?
原因是我们没确定在哪个数据库里创建表。
解决方法:
使用use 库名;指定默认数据库
另外一种可以在创建时参数里写成 itcast.student_info
查看数据表,show
查看数据库里有哪些表
格式:show tables;
也支持条件查询
查看表的创建信息
Show create table 表名;
查看表结构,desc, describe
格式:desc 表名;
格式:show columns from 库名.表名;
修改表,alter
格式