mysql知识点概览_mysql初步入门概览

mysql初步入门概览

发布时间:2020-04-30 11:37:25

来源:亿速云

阅读:201

作者:三月

栏目:数据库

下文主要给大家带来mysql初步入门概览,希望mysql初步入门概览能够带给大家实际用处,这也是我编辑这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

API:Application Programming Interface,应用程序编程接口

ODBC:Open DateBase Connection

DBMS:DateBase Manage System,数据库管理系统

数据组织结构(逻辑结构)

1)层次结构

2)网状结构

3)关系结构

RDBMS:Relational DateBase Manage System,关系型数据库管理系统

用户视图

DBA视图

物理视图

RDBMS应该具备的功能

1、数据库创建、删除、修改

2、表创建、删除、修改

3、索引的创建、删除

4、用户和权限

5、数据增、删、改

6、查

相关命令

43aeb1cdd70de25560bbe99316bbfc19.png

DML:Data Manipulate Language,数据操作语言

INSERT,REPLACE,UPFATE,DELETE

DDL:Data Definition Language,数据定义语言

CREATE,ALTER,DROP

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

GRANT,REVOKE

SELECT

SQL:Structured Quiry Language

RDBMS:

Oracle,Sybase,Infomix(被IBM收购)、SQL Server(是Sybase的变种),DB2(IBM)

MySQL,egrepSQL→PostgreSQL(pgsql)→ EnterpriseDB

Ali去IOE化,IBM,Oracle,EMC

综合软件提供服务商

IBM:CPU,AIX(Advanced IBM Unix),云服务器,DB2

SUN:CPU,Solaris,云服务器,MySQL,Java → 被Oracle收购

BEA:提供WebLogic

PeopleSoft:提供客户端管理软件

OpenOffice(SUN):被Oracle收购,私有化失败

LibreOffice(OpenOffice作者)另起炉灶

MariaDB,MySQL的作者继续开发

MySQL → (二次开发)Percona

非关系模型:NoSQL(一种技术)

Redis:缓存数据库

HBase:基于键值的数据库,稀疏数据库

DBMS应具备的功能

数据管理的独立性;

有效存取数据;

校验数据完整性和安全性;

数据集中管理;

并发存储和故障恢复;

减少应用程序开发的时间。

SQL命令 → 分析器(分析SQL语法) → 计划执行器(有多少种方式可以完成任务) → 优化器 → 文件存取方法

19311e7c389effde0204f75e92f6f563.png

MySQL

Community Edition

Enterprise Edtion,增加了备份功能

官方网站

www.mysql.com

MySQL软件包的格式

软件包管理器特有的格式

rpm,exe

通用二进制格式

源程序

客户端:mysql

服务端:mysqld

监听

tcp/3306

RDBMS数据位置

/var/lib/mysql

安装

yum install mysql-server

初始化

service mysqld start

首次启动,完成对数据库内部元数据的初始化。

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h hiyang.com password 'new-password'

Alternatively you can run:

/usr/bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

mysql

-u USERNAME,默认root

-p,默认为空

-h MYSER_SERVER,默认localhost

-h 127.0.0.1

Linux: socket

Windows: memory

mysql客户端:

交互式模式

批处理模式

执行mysql脚本

交互式模式中的命令类别:

客户端命令

云服务器端命令

必须使用语句结束符,默认为分号;

SQL接口:

Oracle, PL/SQL

SQL Server, T-SQL

关系型数据库对象

索引

视图(虚表)

约束

存储过程

存储函数

触发器

游标

用户

权限

事务

表:

行(row),列(field,column)

表:实体

字段名称,数据类型(强类型),类型修饰符(限制)

占空间范围备注

字符型不区分大小写CHAR(n)n字节255

VARCHAR(n)n+1多结束修饰符65535变长

区分大小写BINARY(n)n字节

VARBINARY(n)n+1字节变长

不区分大小写TEXT(n)n+2字节65535

区分大小写BLOB(n)65535binary large object

数值整型TINYINT1字节256

SMALLINT2字节65535

MEDIUMINT3字节

INT4字节NOT NULL

BIGINT8字节UNSIGNED,无符号

DECIMAL十进制

近似数值FLOAT4字节

DOUBLE8字节

日期时间DATE

TIME

DATETIME

TIMESTAMP

布尔

内置枚举ENUMENUM(‘M’,‘F’)

集合SETSET(‘M’,‘F’)创建数据库

create database [ if not exists ] db_name;删除数据库

drop database[ if not exists ] db_name;查看库中的表show tablesfrom db_name;创建表

create table tb_name(col1,col2,...)

mysql> create table student(name char(10) not null,age tinyint unsigned,gender char(1) not null);查看表的结构

desc tb_name;删除表

drop table tb_name;

修改表

alter table tb_name

modif修正field的属性

mysql> alter table student modify course varchar(50);

change   改变field的名称

mysql> alter table student change course lesson varchar(50);

add    增加field

mysql> alter table student add high int after age;

mysql> alter table student add course varchar(100);

drop 删除field

mysql> alter table student drop lesson;

对数据的操作插入数据

insert into tb_name (col1,col2,...) values|value ('STRING', NUM,...);

insertintotb_name (col1,col2,...) values|value ('STRING', NUM,...),('STRING', NUM,...),...;在指定字段插入数据

mysql> insert into student (name,gender) value ('Li','M'),('Yang','F');

mysql> select * from student;

+------+------+------+--------+--------+

| name | age  | high | gender | lesson |

+------+------+------+--------+--------+

| Li   | NULL | NULL | M      | NULL   |

| Yang | NULL | NULL | F      | NULL   |

+------+------+------+--------+--------+不指定字段,使用默认字段

mysql> insert into student value ('Zhang',26,162,'M','food');

Query OK, 1 row affected (0.00 sec)

mysql> select * from student;

+-------+------+------+--------+--------+

| name  | age  | high | gender | lesson |

+-------+------+------+--------+--------+

| Li    | NULL | NULL | M      | NULL   |

| Yang  | NULL | NULL | F      | NULL   |

| Zhang |   26 |  162 | M      | food   |

+-------+------+------+--------+--------+修改数据

update tb_name set column=value WHERE

mysql> update student set high=178 where name='yang';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student;

+-------+------+------+--------+--------+

| name  | age  | high | gender | lesson |

+-------+------+------+--------+--------+

| Li    | NULL | NULL | M      | NULL   |

| Yang  | NULL |  178 | F      | NULL   |

| Zhang |   26 |  162 | M      | food   |

+-------+------+------+--------+--------+删除数据

delete from tb_name where CONDITION;

mysql> delete from student where name='Li';选择

SELECT 字段 FROM tb_name WHERE CONDITION

*: 所有字段

不指定WHERE:表示显示所有行;

mysql> select name,high from student where lesson='food';

+-------+------+

| name  | high |

+-------+------+

| Zhang |  162 |创建用户

create user 'username'@'host' [identified by 'password'];删除用户

drop user 'username'@'host';

HOST:

IP:

HOSTNAME:

NETWORK:

通配符

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

%:匹配任意字符;

DCL:授权用户

grant pri1,pri2,... on db_name.tb_name to 'username'@'host' [identified by 'password'];不存在的话直接创建并授权取消授权

revoke pri1,pri2,... on db_name.tb_name from 'username'@'host';查看用户的授权

show grants for 'username'@'host';

ALL PRIVILEGES

添加用户密码后才能有登录权限

mysql> create user 'jerry'@'%';

mysql> show grants for 'jerry'@'$';

ERROR 1141 (42000): There is no such grant defined for user 'jerry' on host '$'

mysql> create user 'tom'@'%' identified by 'tom';

Query OK, 0 rows affected (0.00 sec)

mysql> show grants for 'tom'@'%';

+---------------------------------------------------------------------------+

| Grants for tom@%                                                          |

+---------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'tom'@'%' IDENTIFIED BY PASSWORD '675bd1463e544441' |

+---------------------------------------------------------------------------+

为用户设定密码:

1、mysql>set password for 'username'@'host'=password('password');

2、# mysqladmin    -uusername -hhost -p password 'password'

3、mysql> update user set password=password('password')  where user='root' and host='127.0.0.1';

蓝色的password为函数

select User,Host,Password from user;

+-------+--------------+------------------+

| User  | Host         | Password         |

+-------+--------------+------------------+

| root  | localhost    | 565491d704013245 |

| root  | hiyang.com   | 565491d704013245 |

| root  | 127.0.0.1    |                  |

|       | localhost    |                  |

|       | hiyang.com   |                  |

| jerry | %            |                  |

| tom   | %            | 675bd1463e544441 |

| root  | 192.168.8.40 | 565491d704013245 |

+-------+--------------+------------------+

mysql图形化客户端工具

1、phpMyAdmin

2、Workbench

3、MySQL Front

4、Navicat for MySQL

5、Toad

# yum install php53-php

测试php与mysql通信

$connection=mysql_connect('localhost','root','123456');

if ($connection)

echo "sucess...";

else

echo "die..";

?>

phpmyadmin

将下载的文件解压到DocumentRoot下,在浏览器用路径访问即可

0be2a349d51373387a18692130f3d661.png

对于以上关于mysql初步入门概览,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值