Mysql初识
数据库
数据库是什么呢?其实就是一个文件,之前的学习中,我们存放数据都是在文件中,然后在用的时候,找到路径,拿出来用就行了,而数据库就是一个放数据的仓库,我们可以把我们所有的数据都存放进去,然后在我们想用的时候,进去拿就好了。
我一直在玩英魂之刃手游,类似于王者荣耀的一款手游,每次登陆以后,我就能看到我的角色,别人登陆也能看到他们的角色,还能看到买的皮肤什么的,这些就都存放在数据库中,当我们验证之后,程序就会到服务器中数据库中拿到我们角色的数据,让我们能看到我们的角色。
数据库本质上就是一款基于网络通信的应用程序,是一个用来存放数据的软件。我们辛辛苦苦打出来的游戏装备什么的其实都只是数据库中的一条数据。
数据库分为两种类型:
- 关系型。数据之间彼此有关系,通常采用表格的形式存储。
- 非关系型。通常以键值对的形式存放。
Mysql就是一款关系型数据库。
MySQL基础介绍
所有基于网络通信的软件都是使用的socket套接字。mysql也不例外。
mysql不仅支持自己的客户端操作数据,还可以使用编程语言来操作。
- 库:database 相当于文件夹
- 表:table 相当于文件
- 记录:文件内一行行的数据
- 表头:表格第一行
- 字段:第一行的数据
mysql的默认端口为3306.
MySQL的安装及环境配置
sql语句
基础的语法规范。
- sql语句是以分号作为结束的标志的
- 链接客户端的命令可以写为 mysql -uroot -p密码
- 命令输入错误之后,可以用c取消
- 退出命令:quitexit。两者都可以不加分号。
- 更改密码:mysqladmin -uroot -p原密码 password 新密码
基本的sql语句:
# 针对库的增删改查:针对库的操作命令都会在库名前方加上database
# 增
create database db1;
create database db1 charset="GBK";
# 删
drop database db1
# 改
alter database db1 charset="utf8"
# 查
show databases # 查看所有的库
show create database db1 # 查看单个库
# 针对表的操作:针对表的命令都会在表的前面加table
# 增
create table t1(id int,name char(12));
# 删
drop table t2;
# 改
alter table t2 modify name char(8); # 修改表头name的规则
alter table t2 add age int(2); # 增加表头age
alter table t2 change age agel int(2); # 改表头age变为agel
alter table t2 drop agel; # 删除agel
# 查
show tables; # 显示所有的表
show create table t2G; # 显示单个表的表头信息。G为按行排列
desc t2; # 显示单个表的表头的表格显示
# 针对数据库中记录的操作
# 增
insert into t2 values(1,'tom'),(2,"jack"); # 向t2添加一行记录。
insert into t2(id) values(3); # 有值添加值,无值补充NULL。
# 删
delete from t2 where id=3; # 将id=3那行记录删除
delete a,b from t1 a,t2 b where a.name=b.name; # 删除两张表中同名的记录。
# 更新
update t1 set name='tank' where id=3; # 将id=3的记录中的名字改为tank、
# 查
select * from t1; # 查看t1完整的表格记录
select id,name from t1; # 只查看id和name的记录