mysql数据库
数据库的了解
常见的数据库
小型数据库:
Microsoft Access
、SQLite
中型数据库:SQLServer
、MySQL
大型数据库:Oracle
、DB2
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
表,字段分别为id
、username
和password
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 表名;
每次成对复制表中数据。