mysql数据库

数据库的了解

常见的数据库

小型数据库:Microsoft AccessSQLite
中型数据库:SQLServerMySQL
大型数据库:OracleDB2

SQL语句

结构化查询语言(Structured Query Language),简称SQL,是一种特殊的编程语言,针对数据库的查询和程序设计语言。主要存储数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

专门为关系型数据库设计而生。

启动MySQL数据库

MySQL是一个C\S(Client、Server),客户端服务器。
在安装MySQL数据库后,在安装目录的bin目录下有mysqld.exe可执行文件,用来控制启动MySQL数据库
服务端软件:mysqld.exe
如果是单独安装的MySQL,在Windows中可以使用系统命令开启mysql:

net start mysql # 启动数据库
net stop mysql # 关闭数据库
也有另一个中方法,services.msc(服务进行启动),在服务中会有MySQL这个服务,可以右键点击进行启动

这里我是用的是phpstudy集成工具,一切都准备好了

Linux中可以使用service mysqld start、service mysqld stop、service mysqld restart来进行操作数据库
也有一个类似的systemctl start mysqld、systemctl stop mysqld、systemctl restart mysqld

登录和退出数据库

客户端软件:mysql.exe
登录数据库语句:mysql -u用户名 -p密码 -h主机名 -P端口
退出数据库:exit、\q、quit

数据库注释

PHP中的注释是# // /**/,SQL语句的是--空格、#

数据库操作

创建数据库:

create database 数据库名 [库选项];
库选项:字符集
charset : 数据库存储使用的字符集,默认使用DBMS
collate : 校对集
例如:create database Junglezt charset gbk;

查询数据库:

show databases;;
默认数据库

information_schema:保存整个数据库所有的结构信息,使用show databases也是从其中查找
mysql:核心数据库,保存权限关系
performance_schema:效率库
test:空数据库

配合like显示指定数据库

格式:show databases like "匹配模式";
匹配模式:
%:匹配指定位置多个字符
_:匹配制定位置单个字符

显示数据库创建语句

show create database 数据库名; 有的版本会报错

use选择数据库

use 数据库名
为什么要选择数据库呢?因为我们要查的数据在数据库中的表中的字段中。

修改数据库字符集

alter database 数据库名 charset = 字符集;
注意注意:这里的是alter,不是 javascript 中的 alert弹窗
数据库名是不可以修改的,但是在早期版本MySQL5.5之前是可以使用rename进行修改的

删除数据库

MySQL学习之入门之删库跑路,开个玩笑
drop database 数据库名;
删除数据库是一个危险的动作,谨慎使用

数据表操作

创建数据表

create table 表名 (字段1 字段1属性,字段2 字段2属性,....);
例如创建user表,字段分别为idusernamepassword
create table user (id int(10),username varchar(20),password varchar(20));
int(10):整数类型,最大长度为10
varchar(20):字符串类型,最大长度为20

复制数据表

create table 新数据库 like 数据库名.表名;

查看数据表

show tables;
查看指定条件的数据表
show table like "匹配条件";

查看表结构

describe 表名:查看表结构
desc 表名:查看表结构
show columns from 表名:查看表结构

修改表名

rename table 旧表名 to 新表名;
修改表选项:alter table 表名 表选项 [=新值];

删除表

drop table 表名[,表名2,表名3....]

字段操作

新增字段

alter table 表名 add column 字段名 字段属性 [列位置];
也可以不适用 column,就是alter table 表名 add 字段名 字段属性 [列位置];
列位置就是加入加入字段的位置,例如最前
alter table 表名 add 字段名 字段属性 first;

修改字段名

alter table 表名 change 旧字段名 新字段名 字段属性 [列位置] [新位置];

修改字段类型

alter table 表名 modify 字段名 属性;

删除字段

alter table 表名 drop 字段;

数据操作

插入数据

insert into 表名[(字段名,字段名,字段民,...)] values (字段值,字段值,字段值,...;
在指定表名的情况下可以不指定字段名,例如:
insert into 表名 values (字段值,字段值,字段值,....)

查询数据

select 字段名[,字段名,...] from 表名 [where 字段名 = 条件];
查询表中的所有数据:select * from 表名;
查询特定字段中特定行的数据:select 字段名,字段名 from 表名 where 字段名 = 字段值 and 字段名 = 字段值;
类似语句,使用like
select 字段名,字段名 from 表名 where 字段名 like "字段值";

删除数据

delete from 表名 where 字段名 = 字段值;
delete 会删除一行的数据,如果不指定 where 条件
默认会删除所有数据: delete from 表名;

更新数据

update 表名 set 字段民 = 字段值 where 字段名 = 字段值;
如果没有where条件,会替换该字段的每行数据

替换数据

replace into 表名 values (字段值,字段值,字段值);

蠕虫复制

insert into 表名 select 字段名 from 表名;
每次成对复制表中数据。

posted @ 2022-06-17 16:12  Junglezt  阅读(59)  评论(0编辑  收藏  举报