Linux初学者学习笔记我爱编程

20170924 MySQL基础

2017-09-25  本文已影响21人  哈喽别样
  • 数据库简介
  • 关系型数据库
  • MySQL安装和使用
  • SQL语言

一、数据库简介

(一)数据库的发展

(二)文件管理系统的缺点

(三)数据库管理系统的优点

(四)数据库管理系统的基本概念

(一)术语定义
(二)DBMS的基本功能
(三)数据库系统的架构

二、关系型数据库

(一)基本概念

(二)主流关系型数据库

MySQL, MariaDB, PostgreSQL, Oracle, MSSQL, DB2

(三)事务: transaction

(四)实体—联系模型(E-R模型)

(五)数据的三要素

(六)范式(NF)

(七)SQL概念

(1)基本概念:
(2)约束
(3)数据模型

三、MySQL安装和使用

(一)MySQL和MariaDB

(1)MariaDB的特性
(2)MariaDB的程序组成:C/S架构

Client:mysql, mysqldump, mysqladmin
Server:mysqld_safe, mysqld, mysqld_multi

(3)服务器监听的两种socket地址

(二)MariaDB安装

(1)安装方式
(2)yum安装和配置MariaDB
yum groupinstall mariadb mariadb-client
systemctl start mariadb
systemctl enable mariadb
vim /etc/my.cnf
skip-networking=1     //[mysqld]下添加选项,跳过反向解析过程加速启动
(3)通用二进制格式安装MariaDB
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -sv mariadb-10.2.8-linux-x86_64/ mysql     //创建软链接便于切换版本
chown -R root:mysql  /usr/local/mysql/
mkdir /etc/mysql/
cp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf     //复制模板文件
vim /etc/mysql/my.cnf         //[mysqld]下添加三个选项
datadir = /app/dbdata         //数据库数据存放目录
innodb_file_per_table= on     //innodb引擎下创建的每个表都是一个文件
skip_name_resolve= on         //禁止主机名解析
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
//CentOS 7下的操作
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
setfacl -R -m  u:mysql:rwx /var/log/mariadb/mariadb.log

//CentOS 6下的操作
touch /var/log/mysqld.log
setfacl -R -m u:mysql:rwx /var/log/mysqld.log
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start 
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile.d/mysql.sh 

(三)MariaDB的使用

(1)客户端工具
(2)常用命令
mysql>select user();     //查看当前用户
mysql>use mysql;         //选择进入名为mysql的数据库
mysql>SELECT user,host,password FROM user;
//从当前数据库名为user的表中查询每行中user,host,password列的数据

四、SQL语言

(一)SQL语言简介

(1)SQL语句构成

由关键词(Keyword)组成子句(Clause),多条子句组成一条语句

SELECT *           //SELECT子句,SELECT为关键词
FROM products      //FROM子句,FROM为关键词
WHERE price>400    //WHERE子句,WHERE为关键词
(2)SQL语句分类
(3)SQL语言规范
(4)数据库对象的命名规则
(5)数据库操作

(二)SQL语言应用

(1)创建、删除表操作
(2)数据类型
列名 id name age gender
含义 学号 姓名 年龄 性别
类型 数值 字符串 数值 字符串
范围 0-200 不超过20个字符 0-100 1个字符
其他 主键 不允许为空 默认为"m"
create database hellodb;
use hellodb;
create table student (id tinyint unsigned primary key, name varchar(20) not null, age tinyint unsigned, gender char(1) default "m");
desc student;
use hellodb;
create table student1 (id tinyint unsigned, name varchar(20) not null, age tinyint unsigned, gender char(1) default "m", primary key(id, name));
desc student1;
(3)修改表操作
ALTER TABLE 'tbl_name'

ADD col_name data_type [FIRST|AFTER col_name]        //添加字段
CHANGE COLUMN old_col_name  new_col_name data_type   //修改字段名
MODIFY col_name data_type                            //修改字段属性
DROP COLUMN col_name                                 //删除字段
(4)索引
(5)DML语句:INSERT, UPDATE, DELETE
(6)DQL语句:SELECT
(7)用户账号管理
(8)授权
上一篇 下一篇

猜你喜欢

热点阅读