0311MYSQL公开课.docx
《0311MYSQL公开课.docx》由会员分享,可在线阅读,更多相关《0311MYSQL公开课.docx(17页珍藏版)》请在冰豆网上搜索。
![0311MYSQL公开课.docx](https://file1.bdocx.com/fileroot1/2023-5/25/ac2df848-4383-44e7-865c-a26fa3511a85/ac2df848-4383-44e7-865c-a26fa3511a851.gif)
0311MYSQL公开课
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命令查看服务是否启动
命令行命令控制服务器的启动和关闭
Netstartmysql
Netstopmysql
错误原因:
没有权限
解决办法:
用管理员方式启动命令行窗口
C/S,client/server客户端/服务器方式访问数据库
命令行客户端工具
流程:
1.连接和认证,提供4个参数,分别是主机地址,端口号,用户名,密码
2.向MYSQL数据库服务器发送SQL
3.MYSQL服务器接收并执行SQL,并且把结果返回给客户端
4.客户端对结果进行显示
5.断开服务器连接。
Exit,quit,\q
2,3,4这几步可以循环执行
知识:
非关系型数据库,NOSQL,notonlysql
不仅仅是SQL
代表:
redis,mongodb
数据存储有点象数组,key/value
SQL语言
存储数据:
首先建立数据库
之后建立数据表(字段定义)
操作数据
数据有哪些操作
CURD
CREATEUPDATEREADDELETE(DROP)
库操作,database
查看数据库,show
格式:
showdatabaseslike‘条件字符串’
还可以使用条件进行查询
通配符:
%_
%可以匹配任意长度的字符串,包括空字符串。
下划线可以匹配任意一个字符,不包括空字符串
数据库名命名规则:
可以使用字母,下划线,数字
注意:
尽量不要使用系统保留字做为数据库、表、字段的名称
尽量全使用小写字母,原因是象linux系统是区分大小写,如果库名比较长,建议采用下划线连接,不要使用驼峰法。
如:
不建议userInro建议使用user_info
匹配5个字符的库名
查看数据库创建资料
格式:
showcreatedatabaseifexists数据库名;
创建数据库,create
简单方式
格式:
createdatabase库名;
如果没有指定数据库的字符集,则使用数据库安装时的默认字符集。
有四个级别的字符集:
服务器级
数据库级
数据表级
字段级(字符串类的字段)
数据库服务器在安装时会要求指定默认字符集
并不是说数据库只支持这一种字符集!
容错方式创建数据库
库名的包裹方法
就是用反引号把系统保留做库名的名称包裹起来
当然库名表名字段不是保留字最好也加上反引号。
MYSQL里是UTF8,不是UTF-8
修改数据库,alter
格式:
alterdatabase数据库名选项
我们都有什么选项:
字符集和校对规则
每创建一个数据库都会有一个db.opt文件
删除数据库,drop
格式:
dropdatabaseifexists库名;
如果删除数据库,则数据库所有数据及文件全部都没了!
表操作,table
创建表,create
格式:
createtable表名(字段定义)表选项
为什么报错?
原因是我们没确定在哪个数据库里创建表。
解决方法:
使用use库名;指定默认数据库
另外一种可以在创建时参数里写成itcast.student_info
查看数据表,show
查看数据库里有哪些表
格式:
showtables;
也支持条件查询
查看表的创建信息
Showcreatetable表名;
查看表结构,desc,describe
格式:
desc表名;
格式:
showcolumnsfrom库名.表名;
修改表,alter
格式:
altertable表名修改内容1,……
Modify修改字段属性
Change可以同时改字段名
Add可以增加字段
Drop可以删除字段
复制表
格式:
createtablelike或select
先插入一条数据
复制表结构
复制表结构及数据
交换表名的技巧,rename
本身是把表改名的语句
删除表,drop
格式:
droptableifexists表名;