一、认识数据库
1:什么是数据(Data)
描述事物的符号记录被称为数据,这个符号可以是数字,文字,图片,声音,语言等
2:什么是数据库(DataBase,简称DB)
数据库是存放数据的仓库,库一般存放在计算机存储设备上,而数据是按一定的格式存放的
3:什么是数据库管理系统(DataBase Mangement System简称:DBMS)
关系型数据:数据与数据之间可以有关联和限制的;关系型的数据库通常都是表结构,也就是意味着你在用关系型数据的时候
非关系型数据库:是以key-value存储的,没有表结构
关系型:如:sqllite,db2,oracle,access,sq1 sever,MySQL, 注意:sql语句通用
非关系型:mongodb(文档型数据,非常接近关系型的非关系型数据), redis, memcache
二、初识MySQL
1、MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司
mysql是什么?
就是一个基于socket(套接字)编写的c/s架构的软件,本质就是一款基于网络通信的应用软件
服务端
-基于socket通信
-收发消息
-SQL语句(是一个公共的标准)
客户端
-基于socket通信
-收发消息
-SQL语句
ps:MySQL 不仅仅支持MySQL的客户端来操作,也支持其他编程语言直接操作
python ,java,c++,php,c 等,语法都不一样而已
2、相关的概念:
MySQL其实也可以把它看成一款支持远程操作文件的软件
库:就是文件夹
表:就是文件
记录:文件内一行行的数据叫做一条条的记录
表头:就是表格的第一行数据
字段:字段名+字段类型
三、安装MySQL及使用
在IT行业,不要轻易的尝试安装最新版本的软件。不稳定,容易出现不可必要的Bug,且不易修复
1、大致的步骤:
官网下载(5.7/5.6版本)>>下载后解压>>打开找到bin目录下的mysl.exe,复制路径>>>添加到环境变量>>>
用管理员权限打开CMD>>>mysqld打开服务端>>mysql -uroot -p 打开连接服务端>>把服务端制作成系统服务(开机启动)
2、命令行启动:D: (切换到D盘)>>>cd +exe所在的文件夹路径 >>输入 mysql.exe或者mysqld.exe
3、常用的操作命令:
(1)mysql中的sql语句是以分号;为结束的,不输分号,默认为你没有输完,会继续等待输入,
(2)当命令输入错误的时候 可以用\c取消前面的命令 cancel
(3)\s查看 mysql服务端简单配置
4、客户端登录: mysql -h 127.0.0.1 -P 3306 -uroot -p 可以简写:mysql -uroot -p
如果不输入用户名和密码 默认是访客模式登陆 所能用到的功能很少
5、客户端退出登陆:exit; quit;
6、查看所有的数据库:show databases;
7、查看某个进程: tasklist |findstr 名称(mysql或mysqld)
8、杀死进程: taskkill /F /PID 进程号(动态的)
将启动文件所在的路径添加到系统的环境变量中
注意:配置完之后一段要重新启动mysql服务端及cmd终端
制作系统服务 你的cmd终端一定要是管理员身份
没有密码的情况下
mysqladmin -uroot -p password 123
有密码的情况下
mysqladmin -uroot -p123(原始密码) password 123456
mysqld --skip-grant-tables 启动服务端 跳过授权表
2.修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3.关闭当前服务端 重新以校验用户名密码的方式启动
4.正常以用户名密码的方式 连接mysql服务端
13:配置文件
通常情况下配置文件的后缀都是ini结尾
但是你可以新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#2. 重启服务
#3. 查看修改结果:
\s
也可以在配置文件中,客服端里绑定用户和密码 输入mysql 直接就可以以管理员的身份运行,查看
四、数据库的基本操作:
库:类似于文件夹
增
create database db1;
查
show databases; 查所有
show create database db1; 查单个
改
alter database db1 charset='gbk'; 修改编码
删
drop database db1; 删库
表:类似于文件
在创建表的时候 需要先指定库
指定库: use 库名
查看当前虽在的库: select database()
增
create table userinfo(id int,name char);
查
show tables; 查看某个库下面的所有的表
show create table userinfo;
desc userinfo; <==> describe userinfo;
改
alter table userinfo modify name char(32);
删
drop table userinfo;
记录:文件内一行行的数据叫做一条条的记录
先创建一个库或者指定一个已经存在的库
切换到该库下 创建表
然后再操作记录
create database db1;
create table userinfo(id int,name char(32),password int);
增
insert into userinfo values(1,'jason',123); 插入单条数据
insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据
查
select * from userinfo; 查询所有的字段信息
select name from userinfo; 查询指定字段信息
select id,name from userinfo where id=1 or name=tank; 带有筛选条件的字段信息
改
update userinfo set name='kevin' where id=1; 修改数据的一个字段信息
update userinfo set name='jason',password=666 where id=1; 修改数据的多个字段
删
delete from userinfo where id =1; 指定删符合条件的数据
delete from userinfo; 将表中的数据全部删除
来源:oschina
链接:https://my.oschina.net/u/4380963/blog/4113531