数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,
每一个数据库都有一个或多个不一样的API用于建立,访问,管理,搜索和复制所保存的数据。
咱们也能够将数据存储在文件中,可是在文件中读写数据速度相对较慢。
因此,如今咱们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特色:
1.数据以表格的形式出现
2.每行为各类记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成databasemysql
MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不一样的表中,而不是将全部数据放在一个大仓库内,这样就增长了速度并提升了灵活性。linux
MySQL 是开源的,因此你不须要支付额外的费用。。
MySQL 使用标准的SQL数据语言形式。
MySQL 能够运行于多个系统上,而且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。
MySQL 支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
如今的MariaDb和MySQL是同一我的写的。二者语法并无太多的出入。sql
方法一:yum直接安装数据库
[root@centos6 ~]# yum install mysql mysql-server -y
方法二:编译安装编程
[root@centos6 ~]# groupadd -g 36 -r mysql [root@centos6 ~]# useradd -u 36 -r -g mysql -m -d /app/dbdata -s /sbin/nologin mysql
[root@centos6(nanyibo) ~]# pvcreate /dev/sda6 [root@centos6(nanyibo) ~]# vgcreate vgmysql /dev/sda6 [root@centos6(nanyibo) ~]# lvcreate -l +100%FREE -n lvmysql vgmysql [root@centos6(nanyibo) ~]# mkfs.ext4 /dev/vgmysql/lvmysql [root@centos6(nanyibo) ~]# vim /etc/fstab /dev/vgmysql/lvmysql /app/dbdata ext4 defaults 0 0 [root@centos6(nanyibo) ~]# mount -a [root@centos6(nanyibo) ~]# chown mysql.mysql /app/dbdata [root@centos6(nanyibo) ~]# chmod 700 /app/dbdata
[root@centos6 ~]# tar -xvf mariadb-10.2.14-linux-x86_64.tar.gz -C /usr/local/ [root@centos6 ~]# cd /usr/local/ [root@centos6 local]# ln -sv mariadb-10.2.14-linux-x86_64 mysql
[root@centos6 mysql]# vim /etc/mysql/my.cnf [mysqld] datadir = /app/dbdata # innodb_file_per_table = on #每个数据和表都会生成一个文件 skip_name_resolve = on #这个参数是禁止域名解析,默认off
[root@centos6 mysql]# scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
[root@centos6 mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@centos6 mysql]# chkconfig --add mysqld [root@centos6 mysql]# chkconfig mysqld on [root@centos6 mysql]# service mysqld restart
[root@centos6 ~]# vim /etc/profile.d/mage.sh export PATH=/usr/local/mysql/bin:$PATH [root@centos6 ~]# source /etc/profile.d/mage.sh
[root@centos6 ~]# mysql_secure_installation
CREATE DATABASE 数据库名;#不区分大小写 create database test;
drop database <数据库名>; drop database test;
MariaDB [(none)]> use test; Database changed
查看数据库vim
MariaDB [none]> show databases;
建立数据表centos
create table table_name (column_name column_type); MariaDB [test]> create table student (id tinyint unsigned primary key, name varchar(20) not null, age tinyint unsigned,sex char(1) default "m" ); Query OK, 0 rows affected (0.05 sec) MariaDB [test]> desc student;
设置主键的方法:
a. 直接设置数据结构
CREATE TABLE student( sid INT PRIMARY KEY, sname VARCHAR(30) );
b. constraint 约束app
CREATE TABLE test( id INT, NAME VARCHAR(20), CONSTRAINT pk_id PRIMARY KEY(id));
c. 添加主键约束编程语言
CREATE TABLE teacher( tid INT, tname VARCHAR(50) ); ALTER TABLE teacher ADD CONSTRAINT pk_tid PRIMARY KEY(tid);
d. 联合主键 把两列设置成一个主键
CREATE TABLE book( bid INT, bname VARCHAR(100), author VARCHAR(30), CONSTRAINT pk_bid_bname PRIMARY KEY(bid,bname) );
drop table tablename; MariaDB [test]> drop table student;
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); MariaDB [test]> insert into student values (1,'liumou','18768896428',22,default);
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N] MariaDB [test]> select name,age from student where sex='m' limit 5;
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause] MariaDB [test]> update student set phone='18438613802' where id=2;
能够同时更新一个或多个字段。
能够在 WHERE 子句中指定任何条件。
能够在一个单独表中同时更新数据。
DELETE FROM table_name [WHERE Clause] MariaDB [test]> delete from student where id=1;
若是没有指定 WHERE 子句,MySQL 表中的全部记录将被删除。
你能够在 WHERE 子句中指定任何条件
您能够在单个表中一次性删除记录。
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = '%char%' MariaDB [hellodb]> select * from students where name like 'L%';
能够在 WHERE 子句中指定任何条件。能够在 WHERE 子句中使用LIKE子句。可使用LIKE子句代替等号 =。LIKE 一般与 % 一同使用,相似于一个元字符的搜索。可使用 AND 或者 OR 指定一个或多个条件。能够在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。