数据库系统。
databaxxxxsesystem:
计算机系统中一种专门管理数据资源的系统。
数据库里面的东西就是存储的一组经过处理后的数据。
管理数据库的软件成为数据库管理系统。
数据库--》存数据的仓库。
数据库管理系统--》仓管员。
dba(databaxxxxseadministrator)
数据库的分类。
关系型数据库。
mysql\db2\oracle\mariadb(mysql)
关系。非关系型数据库。
redis关系型与非关系型的关系。
把数据分别存放在多张数据**中这些信息相互关联,相互匹配。
数据库在动态**中的重要地位。
1、动态**就是对数据进行操作。浏览**时会发现网页内容发生变化,但是网页主体结构没变。
2、web系统的开发基本都离不开数据库,最主要的就是围绕数据库来写程序(业务逻辑)
优化mysql数据库的方法。
1、选取最适用的字段属性尽可能减少定义字段长度尽量把字段设置not null
2、使用连接(join)来代替子查询。
3、使用联合(union)来代替手动创建的临时表。
4、事务处理。
5、锁定表优化事务处理:
6、使用外键优化锁定表。
7、建立索引。
8、优化查询语句。
注意:最好在相同字段进行比较操作在建立好的索引字段上尽量减少函数操作。
---想了解更多?详见有道云笔记mysql数据库的方法详解。
mysql的体系结构。
客户端/服务器的体系结构:
使用两个程序。
mysql服务器端。
放在你的数据库服务器上面。负责监听并且处理来自网络的客户端的请求。将请求处理并且将相关信息返回给客户端口。
mysql的客户端程序。
他们负责链接到数据库服务器通过向服务器发出查询命令告诉服务器客户端需要哪些数据。
肯定装在你本人的计算机中。
使用两个程序的好处。
不必非得在数据库服务器上面进行登录可以在任何地点上面使用mysql客户端通过网络来连接数据库服务器。
mysql客户端的种类。
有图形界面的,也有命令行。但是我们只允许使用命令行。
mysql和mysql的区别。
mysql指的是完整的数据库系统。
mysql指的是一个叫mysql的mysql客户端程序。
mysql数据库的结构。
刚才的这个文件夹就是数据库:存放数据信息的文件夹。
数据库中有一个一个的表。
每一个数据表由数据行和数据列构成。
每一行数据就是数据表中的一条记录。
每一条记录可以包含多个信息,数据表中的每一条数据都对应着一个信息项。
多个数据列(字段)组成了一行一行的数据。
sql为了和mysql进行交互,需要使用一种叫sql(结构化查询语言)来进行交互。
sql是现在的标准化数据库语言,很多数据库都使用sql作为交互语言oracle、sqlserver
数据定义语言。
数据(data)定义(definition)语言(ddl):
定义和管理数据库对象。
数据库操作语言。
数据库操作(machining)语言(dml):
用于操作数据库对象中包含的数据。
数据查询语言。
数据查询(query)语言(dql):
用于查询数据库对象中所包含的数据,对表进行查询。
数据控制语言。
数据控制(control)语言(dcl):
管理数据库的语言。
使用数据库的步骤。
1、链接mysql服务器。
2、选择哪个数据库。
3、对数据库中的表中的数据进行增删改查。
4、关闭数据库。
链接数据库。
mysqlu用户名root
p密码。h主机名localhost
p端口号3306
b关闭beep蜂鸣器。
解决mysql内部或外部命令。
我的电脑-》
属性-》高级-》
环境变量-》
path-》
先在后面加上;(英文的分号)-》
找到的路径(一般为:c:\xampp\mysql\bin)》
添加完成后确认并且注销或重启也可以不重启。
注意:此操作可方便在电脑任何位置输入mysql命令以完成对mysql的操作。
数据库语法的特点。
1、每个sql命令都需要使用分号来完成。
2、可以一个命令拆分成多行来执行。
3、提示符。
>提示符表示的是mysql需要你继续输入查询命令。
|”表示等待下一行,等待以单引号开始的字符串的结束。(?
4、查询命令不区分大小写。
用大写字母来写出sql关键字,用小写字母写出数据库、数据表和数据列(字段)名字。
退出。quitexitq
常见操作。g代替结束符。
c取消这一行未完成的操作。
查看数据库服务器中的数据库。
show databaxxxxses;
重要的数据库切记勿删:
information_schema|这个库。
cdcol|这个库。
mysql|这个库。
performance_schema|这个库。
phpmyadmin|
test|webauth|这个库。
创建数据库。
createdatabaxxxxse数据库名。
注意:1、每创建一个数据库会在你的data目录下创建一个以数据库名称命名的文件夹。
2、数据库是唯一的。
3、是因为在windows下面不区分大小写,在linux下区分大小写。因为没创建一个数据库都需要创建一个目录。
删除数据库。
dropdatabaxxxxse数据库名。
选择数据库。
use数据库名。
查看已经选择的数据库。
select databaxxxxse();
查看数据库中的表。
show tables;
你所有的操作必须建立在use数据库名的基础上。
创建数据库表。
createtable表名(列的信息)
mysql>createtablestu(
>idint
>namechar(32)
queryok0rowsaffected(0.01sec)
查看表结构。
desc表名。
查看建表语句。
showcreatetable表名;
g将查询后的数据立起来,容易查看数据。
showcreatetable表名 \g
注意:1、可以使用上箭头和下箭头来找敲过的命令。
2、可以使用``将特殊的名称包含起来,但是不建议使用。
3、建表的时候每个列之间的内容使用逗号进行分隔,最后一个列不需要加逗号。
删除表。droptable表名。
数据库创删步骤。
1、链接数据库。
mysql –u root –p
2、创建数据库lamp140;
createdatabaxxxxse数据库名。
3、选择数据库。
use数据库名。
4、查看当前所在的数据库。
select databaxxxxse();
5、创建一个表,表名叫stu
create table stu(
idintnamechar(32)
6、查看表结构。
desc表名。
7、查看建表语句。
showcreatetable表名;
8、删除表。
droptable表名。
9、删除数据库。
dropdatabaxxxxse数据库名。
连接数据库实例:
/1.连接数据库。
conn=mysqli_connect('localhost''root'''
/2.检测是否连接成功。
if(mysqli_errno($conn)){
exit mysqli_error($conn);
/3.设置连接字符集。
mysqli_set_charset($conn'utf8');
/4.选择数据库。
mysqli_select_db($conn'lamp140');
/5.准备sql语句。
sql="select * form lamp_user";
/6.发送sql语句。
result=mysqli_query($conn$sql);
/7.判断执行结果或者返回结果集。
if($result &&mysqli_affected_rows($conn)){
while($row=mysqli_fetch_assoc($result)){
rows=row;
else{echo '操作失败';
exit;/释放结果集的函数除非数据很大否则不要释放!
/mysqli_free_result($result);
/8.释放连接。
mysqli_close($conn);
数据库的其他命令。
插入数据。insertinto表名(字段名1字段名2...values(值1值2...
注意事项:如果是字符型在插入的时候必须加上引号。否则不让插入数据。
查询数据。select*from表名。
更新数据。update表名set字段名1=新值1字段名2=新值2where条件。
注意:一定要加where条件。
删除数据。deletefrom表名where条件。
注意事项:如果不加where条件也表示全部删除数据,但是刚才用的truncatetable
表名也是删除数据,如果要所有的都删除建议使用truncatetable表名。
数据导出。退出mysql时进行操作!!!
mysqldump-u用户名 -p数据库名》导出的文件名直接把数据库都导出来了。
mysqldump-u用户名 -p数据库名表名》导出的文件名导出那个库中的哪个表。
mysqldump-u用户名 -p-d数据库名》导出的文件名导出数据库中表的结构。
mysqldump-u用户名 -p-d数据库名表名》导出的文件名将某个数据库中的某个表的结构导出。
这个文件名和后缀没有太大关系,但是有了sql这个后缀名能够更清晰的知道这是mysql的备份文件。
导入mysql数据库。
方法1:退出mysql的情况下使用。
mysql-u用户名 -p数据库名《数据库文件。
方法2:在进入的情况下使用,并且已经选择了数据库的情况下。
source数据库文件。
注意事项:1、在导入之前库必须存在。
2、如果使用方法2导入那么尽量将文件的路径以及文件名中的路径分隔符从反斜线改为正斜线。
设置密码。方法1:
在数据库的外面。
mysqladmin-u用户 -ppassword新密码。
c:\users\lgzhyan>mysqladmin-usroot-ppassword1234@abcd
方法2:在数据库的里面。
setpasswordfor'用户名'@'登录主机'=password('新密码');
如果密码忘记的破法。
1、关闭正在运行的mysql
2、打开cmd跳转到mysql的bin目录下。
3、输入mysqld--skip-grant-tables回车(这个时候mysql将会重新开启)
MySql经典笔记
好久没有整理东西,感觉自己越来越懒,正好近期有个mysql的项目 一个oracle的应用迁移到mysql 以前没有接触过mysql,但是也知道mysql数据库目前广泛的应用在各种个人 商务系统中,各种技术都比较成熟。把自己学习的一些过程总结一下,该文章设计到的内容都没有做太详细的阐述,只是一个简单的...
MySQL高级教程笔记
mysql 高级。1 标题1 错误!未定义书签。1.1 标题2 错误!未定义书签。1.1.1 标题3 错误!未定义书签。mysql中的sql编程的话题。触发器,存储函数,存储过程。以上的是三个名词,在sql编程中,地位是 程序的载体,程序的结果。编程所涉及的要素 变量,数据类型,流程控制,函数,运算...
ORACLE学习笔记整理
注意,以下涉及到的例题数据均来自于作业管理系统中 陈勇 名下的 数据库原理与应用 文件夹中的 实验数据请 使用。通常用于试运行单条sql语句。1 启动方式。在pl sql developer界面下单击新建中的第一个图标,在菜单中选 sql窗口 界面如下图所示 在其中可以输入sql语句,单击工具栏上的...