数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,
每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
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是同一个人写的。两者语法并没有太多的出入。
方法一: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
查看数据库
MariaDB [none]> show databases;
创建数据表
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 约束
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 子句来指定条件。
原文:http://blog.51cto.com/13805636/2178864