例如网页,静态的数据存储在静态文件里面,而动态文件数据存储在数据库服务器。
(静态的维护起来更麻烦)
MySQL
体积小,效率高,开源软件
Mariadb(MySQL分支,完全兼容MySQL)
安装MySQL
#yum install mysql-server
完成效果:
MySQL初始化
#service mysqld start
查看端口号(默认端口号):
#mysql_secure_installation
Enter current password for root (enter for none):请输入当前root用户的密码,如果没有按回车,注意此root并非Linux的root用户
Set root password? [Y/n] 是否设置root密码?
Remove anonymous users? [Y/n] 是否移除匿名用户,选择移除(Y)
Disallow root login remotely? [Y/n] 是否允许root远程登录(默认不允许)(n)
Remove test database and access to it? [Y/n]是否移除测试数据库(建议先不移除)(n)
Reload privilege tables now? [Y/n]是否重新加载权限表(放我们更改了mysql用户相关的信息之后建议去重载权限)
MySQL的启动控制
语法:service mysqld start/stop/restart
进入mysql的方式:
#mysql -u用户名 -p 密码
建议:##mysql -u 用户名 -p
退出方式MySQL到Linux命令行:
mysql>exit
默认目录/文件位置
数据库存储目录:/var/lib/mysql
配置文件:/etc/my.cnf
MySQL的基本操作
库操作
以下命令在MySQL终端命令行中执行(大小写均可):
(1)mysql>SHOW DATABASES**;** 【显示MySQL中的全部数据库】
(2)mysql>CREATE DATABASE 库名**;** 【创建数据库】
(3)mysql>DROP DATABASE 库名**;** 【删除数据库】
(4)mysql>USE 库名**;** 【切换数据库】
表操作
(1)mysql>SHOW TABLES; 【显示当前数据库中所有的表名(必须先use数据库)】
(2)CREATE TABLE 表名称 【在当前数据库下创建数据表】
(
列名称1 数据类型 [NOT NULL AUTO_INCREMENT(像序号可以自动递增)],
列名称2 数据类型,
类名称3 数据类型,
…,
PRIMARY KEY(主键字段名)
);
常见数据类型:int(整型)、char(定长字符)、varchar(不定长字符)。
逐渐一般就是序号所在的那一列(主键不能重复)
create table stu(
id int(11) not null auto_increment,
name varchar(20),
password char(32),
primary key(id)
);
(3)DESC 表名;【描述一个数据表(查看表结构)】
(4)DROP TABLE [IF EXISTS] 表名; 【删除一个数据表(查看表结构)】
(5)USE 库名; 【切换一个数据表】
记录/字段操作
(1)增加记录
语法① INSERT INTO 表名称 VALUES (值1,值2,…);
语法② INSERT INTO 表名称(列1,列2,…) VALUES (值1,值2,…);
insert into stu(name,password) values(‘jiang’,‘jianghao’);
(2)更新记录
语法:UPDATE 表名称 SET 列名称1=新值1,列名称2=新值2,…WHERE 列名称=某值;
(3)查询记录
语法① SELECT 列名称1,列名称2,… FROM 表名称 WHERE 条件;
语法② SELECT * FROM表名称 WHERE 条件;
(3)删除记录