linux下关系型数据库解释及mysql基本命令详解

1.RDBMS:关系型数据库,如下功能:

数据库创建、删除、修改

创建表、删除表、修改表

索引的创建、删除

用户和权限创建、修改、删除

数据新增、删除、修改

查询

2.myslq属于关系型数据库,数据引擎命令如下:命令不区分大小写

DML:Data Manapulate Language: 数据操作语言

INSERT, REPLACE, UPDATE, DELETE

DDL:Data Defination Lanuage: 数据定义语言

CREATE, ALTER, DROP

DCL:Data Control Language: 数据控制语言

GRANT, REVOKE

SELECT:查询命令

3.mysql客户端登入命令:

选项: -u: 用户名,默认为[email protected]或[email protected]

用户名格式:[email protected]

-p:用户的密码,默认为空

-h:mysql服务器

例如:在mysql服务器中,本地登入服务器命令,以下两种命令功能一样:

3.1.mysql

3.2.mysql -u root -p -h localhost

mysql客户端分为交互式和批处理模式

交互式模式又分为客户端和服务器端命令类别

客户端命令如:quit(或\q),可输入help或\h查询客户端命令

服务器端命令:必须使用语句结束符,默认为分号;如SHOW DATABASES;

4.mysql名称解释;

4.1.mysqld服务侦听在3306/tcp端口,属主属组均为mysql,数据存放在/var/lib/mysql/

4.2.关系数据库对象:库,表,索引,视图,约束,存储过程,存储函数,触发器,游标,用户,权限,事务

4.3.表:由多个字段field或列column和多个行row组成

4.4.字段:由字段名称,数据类型和类型修饰(限制)组成

4.5.数据类型分为字符,数值,日期时间,内置等组成

字符:CHAR(n),VARCHAR(n),BINARY(n),VARBINARY(n),TEXT(n),BLOB(n)

CHAR(n):    字符  ,不区分大小写

VARCHAR(n): 可变化字符 ,不区分大小写

BINARY(n):  二进制字符 ,区分大小写

VARBINARY(n):  可变化二进制字符,区分大小写

TEXT(n):大对象数据,不区分大小写

BLOB(n):大对象二进制数据,区分大小写

注意:n代表字符长度

数值:精确数值和近似数值

精确数值:代表有整形和十进制

整型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT

TINYINT:1个字节

SMALLINT:2个字节

MEDIUMINT:3个字节

INT:4个字节

BIGINT:8个字节

修饰符:UNSIGNED,无符号,只有0或正整数

不为空:NOT NULL

十进制:DECIMAL

近似数值:代表有浮点型,FLOAT和DOUBLE

日期时间:DATE,TIME,DATETIME,STAMP

内置:  ENUM,SET

5.创建数据库

格式:

CREATE DATABASE 数据库名称;

CREATE DATABASE [IF NOT EXISTS] 数据库名称;

例如:创建数据库mydb

CREATE DATABASE mydb;  #如果数据库存在,将会报错,可用下条语句

CREATE DATABASE IF NOT EXISTS mydb; #如果数据库存在,将不会报错

查看刚创建的数据库

SHOW DATABASES;

6.删除数据库

格式:DROP DATABASE [IF EXISTS] 数据库名称;

例如:删除数据库mydb

DROP DATABASE mydb;

7.创建表

格式:CREATE TABLE 表名(字段1,字段2,...); 需用USE 数据库名  #切换默认数据库

CREATE TABLE 数据库存.表名(字段1,字段2,...);

例如:创建表students

USE mydb;   #切换数据库mydb为当前默认数据库

CREATE TABLE students(Name CHAR(15) NOT NULL,Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL);          查看库中的表:SHOW TABLES [FROM 数据库名称];默认显示当前数据

查看表的结构:DESC 表名;

DESC students;

8.删除表:DROP TABLE 表名;

9.修改表:ALTER TABLE 表名

MODIFY:保留字段名称,修改其他属性

CHANGE:连字段都修改

ADD:添加字段

DROP:删除字段

例如:对数据库mydb中表students添加course字段

ALTER TABLE mydb.students ADD course VARCHAR(100);

将course字段名称修改成Courses

ALTER TABLE students CHANGE course Courses VARCHAR(100) AFTER Name;

DESC studens;

10.DML:数据操作命令:

INSERT INTO 表名 (字段1,字段2,...) VALUES|VALUE (‘字符串值‘, 数值,...);

INSERT INTO 表名 (字段1,字段2,...) VALUES|VALUE (‘字符串1‘, 数值1,...),(‘字符串2‘,数值 2,...);

例如:插入Name字段为Willow和Amy及其Gender字段相关属性内容

INSERT INTO students (Name,Gender) VALUE (‘Willow‘,‘M‘),(‘Amy‘,‘F‘);

SELECT * FROM students;

如果不指定字段,将对所有字段赋值,如增加名字为Rob及其所有属性

INSERT INTO students VALUE (‘Rob‘,‘CCNP‘,26,‘M‘);

SELECT * FROM students;

UPDATE 表名 SET 字段=值 [WHERE 条件];

例如:修改Name为willow用户的Courses字段为RHCA;

update students SET Courses=‘RHCA‘ WHERE Name=‘Willow‘;

DELETE FROM 表名 WHERE 条件;

例如:删除名字为Amy的用户所有数据

DELETE FROM students WHERE Name=‘Amy‘;

SELECT * FROM students;

选择:SELECT 字段 FROM 表名 WHERE 条件;

*: 所有字段

WHERE:没有条件表示显示所有行;

例如:选择查看名字为Willow,并且只查看Name和Courses两个字段的内容

SELECT Name,Courses FROM students Where Name=‘Willow‘;

11.创建用户:

CREATE USER ‘用户名‘@‘HOST‘ [IDENTIFIED BY ‘密码‘];

DROP USER ‘用户名‘@‘HOST‘;

HOST:表示有IP,HOSTNAME,NETWORK,通配符

_:匹配任意单个字符, 172.16.0._

%:匹配任意字符;

[email protected]‘%‘代表用户user1用户在所有主机上登入

12.DCL:数据控制命令

GRANT 权限1,权限2,... ON 数据库名.表名 TO ‘用户名‘@‘HOST‘ [IDENTIFIED BY ‘密码‘];

REVOKE pri1,pri2,... ON 数据库名.表名 FROM ‘用户名‘@‘HOST‘;

查看用户的授权:SHOW GRANTS FOR ‘用户名‘@‘HOST‘;

ALL PRIVILEGES:代表所有权限的意思

例如:创建用户willow在所有主机可登入到mysql服务器中的mydb数据库

CREATE USER ‘willow‘@‘%‘ IDENTIFIED BY ‘redhat‘;

SHOW GRANTS FOR ‘willow‘@‘%‘;

授权willow用户对mydb数据中所有表拥有所有权限

13.为用户设定密码:

13.1.mysql>SET PASSWORD FOR ‘用户名‘@‘HOST‘=PASSWORD(‘密码‘);

mysql> FLUSH PRIVILEGES ; #刷新让mysql数据库重读授权表

例如:为[email protected]用户设定密码为redhat

SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘redhat‘);

13.2.# mysqladmin -u用户名 -hHOST -p password ‘密码‘ #bash下命令设定密码

13.3.mysql> UPDATE user SET Password=PASSWORD(‘密码‘) WHERE USER=‘root‘ AND            Host=‘127.0.0.1‘;

例如:为[email protected]用户设定密码为redhat

UPDATE user SET Password=PASSWORD(‘redhat‘) WHERE USER=‘root‘ AND Host=‘127.0.0.1‘;

    13.4.建立一个root用户拥有所有权限并且仅允许在1.1.1.0/24子网内连接mysql服务器

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘1.1.1.%‘ IDENTIFIED BY ‘redhat‘;

FLUSH PRIVILEGES;

时间: 2024-10-06 09:30:28

linux下关系型数据库解释及mysql基本命令详解的相关文章

linux下的/etc/passwd和/etc/shadow详解

linux下的/etc/passwd和/etc/shadow详解一./etc/passwd/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:name:password:uid:gid:comment:home:shellname 用户登录名password 用户口令.此域中的口令是加密的,常用x表示.当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较.如果此域为空,表明该用户登录时不需要口令.uid 指定用户的 UID.用户登录进系统后,系统通过该值,而不

Linux下nginx编译安装教程和编译参数详解

这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl 需要ssl的支持,如果不需要ssl支持,请跳过这一步 复制代码代码如下: # yum install openssl* 3.gzip 类库安装 复制代码代码如下: yum install zlib zlib-

Linux下的crontab定时执行任务命令详解

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 servi

Linux下的I/O复用与epoll详解

前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管他们的使用方法不尽相同,但是本质上却没有什么区别.本文将重点探讨将放在EPOLL的实现与使用详解. 为什么会是EPOLL select的缺陷 高并发的核心解决方案是1个线程处理所有连接的“等待消息准备好”,这一点上epoll和select是无争议的.但select预估错误了一件事,当数十万并发连接存

Linux下的crontab定时执行任务命令详解 - 回家的流浪者 - 博客园

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为“crontab”,是“cron table”的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop 

Linux下进程的创建过程分析(_do_fork/do_fork详解)--Linux进程的管理与调度(八)

日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux-4.5 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度-之-进程的创建 参照 分析Linux内核创建一个新进程的过程 前言 Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程,也叫线程,是共享资源的进程)

linux下的raid及mdadm的命令详解

RAID被称为廉价的冗余磁盘阵列,这是由于在早期的磁盘很小,性能差,易损坏.所以RAID主要的做法就是把多个便宜的小磁盘组合到一个磁盘组,使性能和磁盘容量都可以达到相当于昂贵的磁盘性能. 根据RAID的组合方式不同,RAID又有不同的RAID LEVEL(这个级别仅代表磁盘组合方式不同,没有上下之分), raid级别分类: *  RAID 0: 也被称为条带模式,一个文件的数据通过控制芯片发向底层芯片存储到磁盘块时,把数据的大小分成每个具有一定大小的单位存储到并行的每个磁盘对应的位置,形成一个类

Linux下的at定时执行任务命令详解

之前说了使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了.一.at服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service atd start    //启动服务 service atd  stop     //关闭服务 service atd restart  //重启服务 service atd reload   //重新载入配置 service atd status   //查看服务状态

Linux下配置Node环境变量及问题详解

这是之前在Linux下配置Node环境变量时踩过的坑,今天又有小伙伴质询这个问题,因此记录下来,不仅是给新童鞋们一些参考,也方便日后查阅 在这之前,相信都已经安装好了,没安装的可以查看博主另一篇文章  ---------http://www.cnblogs.com/Halifa/p/5772263.html 配置Node环境变量有永久生效和当时生效几种方式,这里只讲解永久生效 进入主题: 修改/etc/profile文件,在末尾添加以下内容 export NODE_HOME=/usr/local