数据库MySQL
数据初学者
安装数据库
yum install 服务名称 #安装服务
yum install mariadb-server.x86_64
查看服务启动状态
systemctl list-unit -files
过滤查看服务启动状态
systemctl list-unit-files | grep “服务名称”
systemctl list-unit-files | grep “mariadb.service ”
开启服务
systemctl start 服务名称
systemctl start mariadb.service
查看过滤端口
ss -anptul | grep “要过滤的端口号”
ss -anptul | grep “3306”
开机自启
systemctl enable 服务名称
systemctl enable mariadb.service
查看文件位置
which 文件
查询文件安装信息
rpm -qf /usr/bin/文件名
登录数据库
mysql -uroot
更改数据库密码(在全局更改)
mysqladmin -uroot -p password “新密码”
mysqladmin -uroot -p password “root”
下一提示为询问旧密码
配置文件
/etc/my.cnf CentOS7
my/ini phpStudy
DDL(Data Definition Language)语句
数据定义语句
通过这类语言可以对数据库,表,字段(元数据)等进行创建,删除,更改
数据库的创建,删除,属性修改
表的创建,删除,更新
字段的更新,插入等操作
对象:库,表,列(字段),上述3种对象称为元数据
DML(Data Manipulation Language)语句
数据操纵语句
用于添加(增),删除(删),更新(改)和查询(查)数据库记录并检查数据完整性
对象:记录
DCL (Data Coontrol Language)语句
数据控制语句
通过此类语句可以对数据库的相关权限进行设置
某一个用户从某一个地址登录数据库
某一个用户可以增删改查某一个数据库中表的记录
对象:用户和权限
DDL语句
数据定义语句
对数据库内部的元数据(数据库,表,字段)进行创建,删除,修改等操作的语言,DDL语句更多的是数据库管理源DBA使用
查看所有数据库列表
show databases;
查看数据库中表名
show tables;
进入数据库
use 表名;
use users;
创建数据库
create database 库名;
create database bbs;
删除数据库
drop database 库名;
drop database bbs;
创建数据库的同时指定默认编码
create database 库名 default character set utf8; #character 特性
create database bbs default character set utf8;
表的操作
进行表的操作之前,需要确定表所在数据库
数据库规划
主键:1,一个属性能确定一条记录的一个唯一的标识,如用户id
2,不能为空,也不能重复
3,起到标识索引作用
4,用于和其他表之间建立联系
int — 整形(整数型)
varchar — 字符数据,存储长度可变
primary key — 定义主键
auto_increment — 定义主键自增,每次+1,配合主键使用
not null — 不能为空
创建表
create table users(
id int(10) not null auto_increment primary key,
username varchar(255) not null,
password varchar(255) not null
);
查看创建表详细信息的SQL语句
show create table users\G
修改表的定义
修改表的字段类型
alter 改变
modify 修改
desc 降序排列
alter table 表名 modify [column] 字段定义 [first | after 字段名];
alter table users modify username varchar(50) not null;
更改表头顺序
alter table users modify username varchar(50) not null after password; #在password之后
desc users;
删除表字段
alter table 表名 drop [column] 字段名;
alter table users drop imgpath;
增加表字段
alter table 表名 add [colum] 字段定义 [first | after 字段名];
alter table users add img_path varchar(255) not null;
字段改名
alter table 表名 change 旧的字段名 新的字段名 字段定义 [first | after 字段名];
alter table users change img_path imgpath varchar(255) not null;
更改表名
alter table 表名 rename to 新的表名;
alter table users rename to users1;
表的删除
drop table 表名;
drop table users;
DML语句
insert 插入
delete 删除
update 更新
select 查询
查询当前数据库名
select database();
查询表中所有内容
select * from 表名;
select * from users;
跨库跨表查询
select * from 库名.表名\G;
select * from mysql.user\G;
insert 插入记录
insert into 表名(表头,表头。。)values(‘插入的内容’,‘ 。。’);
insert into users(username,password)values(‘forest’,’1234’);