溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql初步入門概覽

發(fā)布時(shí)間:2020-04-30 11:37:25 來(lái)源:億速云 閱讀:258 作者:三月 欄目:數(shù)據(jù)庫(kù)

下文主要給大家?guī)?lái)mysql初步入門概覽,希望mysql初步入門概覽能夠帶給大家實(shí)際用處,這也是我編輯這篇文章的主要目的。好了,廢話不多說(shuō),大家直接看下文吧。

API:Application Programming Interface,應(yīng)用程序編程接口

ODBC:Open DateBase Connection
DBMS:DateBase Manage System,數(shù)據(jù)庫(kù)管理系統(tǒng)
數(shù)據(jù)組織結(jié)構(gòu)(邏輯結(jié)構(gòu))
1)層次結(jié)構(gòu)
2)網(wǎng)狀結(jié)構(gòu)
3)關(guān)系結(jié)構(gòu)
RDBMS:Relational DateBase Manage System,關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
用戶視圖
DBA視圖
物理視圖
RDBMS應(yīng)該具備的功能
1、數(shù)據(jù)庫(kù)創(chuàng)建、刪除、修改
2、表創(chuàng)建、刪除、修改
3、索引的創(chuàng)建、刪除
4、用戶和權(quán)限
5、數(shù)據(jù)增、刪、改
6、查

相關(guān)命令

mysql初步入門概覽

DML:Data Manipulate Language,數(shù)據(jù)操作語(yǔ)言
    INSERT,REPLACE,UPFATE,DELETE
DDL:Data Definition Language,數(shù)據(jù)定義語(yǔ)言
    CREATE,ALTER,DROP
DCL:Data Control Language,數(shù)據(jù)控制語(yǔ)言
    GRANT,REVOKE
SELECT
SQL:Structured Quiry Language
RDBMS:
    Oracle,Sybase,Infomix(被IBM收購(gòu))、SQL Server(是Sybase的變種),DB2(IBM)
    MySQL,egrepSQL→PostgreSQL(pgsql)→ EnterpriseDB
Ali去IOE化,IBM,Oracle,EMC
綜合軟件提供服務(wù)商
IBM:CPU,AIX(Advanced IBM Unix),云服務(wù)器,DB2
SUN:CPU,Solaris,云服務(wù)器,MySQL,Java → 被Oracle收購(gòu)
BEA:提供WebLogic
PeopleSoft:提供客戶端管理軟件
OpenOffice(SUN):被Oracle收購(gòu),私有化失敗
LibreOffice(OpenOffice作者)另起爐灶
MariaDB,MySQL的作者繼續(xù)開(kāi)發(fā)
MySQL → (二次開(kāi)發(fā))Percona
非關(guān)系模型:NoSQL(一種技術(shù))
    MongoDB:文檔數(shù)據(jù)庫(kù)
    Redis:緩存數(shù)據(jù)庫(kù)
    HBase:基于鍵值的數(shù)據(jù)庫(kù),稀疏數(shù)據(jù)庫(kù)
DBMS應(yīng)具備的功能
數(shù)據(jù)管理的獨(dú)立性;
有效存取數(shù)據(jù);
校驗(yàn)數(shù)據(jù)完整性和安全性;
數(shù)據(jù)集中管理;
并發(fā)存儲(chǔ)和故障恢復(fù);
減少應(yīng)用程序開(kāi)發(fā)的時(shí)間。
SQL命令 → 分析器(分析SQL語(yǔ)法) → 計(jì)劃執(zhí)行器(有多少種方式可以完成任務(wù)) → 優(yōu)化器 → 文件存取方法
mysql初步入門概覽 
MySQL
    Community Edition
    Enterprise Edtion,增加了備份功能
官方網(wǎng)站
www.mysql.com
MySQL軟件包的格式
    軟件包管理器特有的格式
        rpm,exe
    通用二進(jìn)制格式
    源程序
客戶端:mysql
服務(wù)端:mysqld
監(jiān)聽(tīng)
tcp/3306
RDBMS數(shù)據(jù)位置
/var/lib/mysql
安裝
  1. yum install mysql-server
初始化
service mysqld start
首次啟動(dòng),完成對(duì)數(shù)據(jù)庫(kù)內(nèi)部元數(shù)據(jù)的初始化。
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,默認(rèn)root
-p,默認(rèn)為空
-h MYSER_SERVER,默認(rèn)localhost
-h 127.0.0.1
Linux: socket
Windows: memory
mysql客戶端:
交互式模式
批處理模式
執(zhí)行mysql腳本
交互式模式中的命令類別:
客戶端命令
云服務(wù)器端命令
必須使用語(yǔ)句結(jié)束符,默認(rèn)為分號(hào);
SQL接口:
Oracle, PL/SQL
SQL Server, T-SQL
關(guān)系型數(shù)據(jù)庫(kù)對(duì)象
    表
    索引
    視圖(虛表)
    約束
    存儲(chǔ)過(guò)程
    存儲(chǔ)函數(shù)
    觸發(fā)器
    游標(biāo)
    用戶
    權(quán)限
    事務(wù)
表:
    行(row),列(field,column)
    表:實(shí)體
字段名稱,數(shù)據(jù)類型(強(qiáng)類型),類型修飾符(限制)



占空間范圍備注

     字符型
不區(qū)分大小寫
CHAR(n)
n字節(jié)
255

VARCHAR(n)
n+1多結(jié)束修飾符
65535
變長(zhǎng)
區(qū)分大小寫
BINARY(n)
n字節(jié)


VARBINARY(n)
n+1字節(jié)

變長(zhǎng)
不區(qū)分大小寫TEXT(n)
n+2字節(jié)65535
區(qū)分大小寫BLOB(n)

65535
binary large object




    數(shù)值







整型


TINYINT
1字節(jié)
256

SMALLINT
2字節(jié)
65535

MEDIUMINT
3字節(jié)


INT
4字節(jié)

 NOT NULL
BIGINT
8字節(jié)

UNSIGNED,無(wú)符號(hào)
DECIMAL


十進(jìn)制
近似數(shù)值

FLOAT
4字節(jié)


DOUBLE
8字節(jié)


                   日期時(shí)間

DATE



TIME



DATETIME



TIMESTAMP



    布爾





    內(nèi)置

枚舉
ENUM


ENUM(‘M’,‘F’)
集合
SET


SET(‘M’,‘F’)
創(chuàng)建數(shù)據(jù)庫(kù)
create database [ if not exists ] db_name;
刪除數(shù)據(jù)庫(kù)
drop database [ if not exists ] db_name;
查看庫(kù)中的表
show tables from db_name;

創(chuàng)建表
create table tb_name(col1,col2,...)
  1. mysql> create table student(name char(10) not null,age tinyint unsigned,gender char(1) not null);
查看表的結(jié)構(gòu)
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;
對(duì)數(shù)據(jù)的操作
插入數(shù)據(jù)
insert into tb_name (col1,col2,...) values|value ('STRING', NUM,...);
insert into tb_name (col1,col2,...) values|value ('STRING', NUM,...), ('STRING', NUM,...),...;
在指定字段插入數(shù)據(jù)
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   |
+------+------+------+--------+--------+    
不指定字段,使用默認(rèn)字段
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   |
+-------+------+------+--------+--------+
修改數(shù)據(jù)
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   |
+-------+------+------+--------+--------+
刪除數(shù)據(jù)
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 | 
創(chuàng)建用戶
create user 'username'@'host' [identified by 'password'];
刪除用戶

drop user 'username'@'host';

HOST:
IP:
HOSTNAME:
NETWORK:
通配符
_:匹配任意單個(gè)字符, 172.16.0._
%:匹配任意字符;
DCL:
授權(quán)用戶
    grant pri1,pri2,... on db_name.tb_name to 'username'@'host' [identified by 'password'];不存在的話直接創(chuàng)建并授權(quán)
取消授權(quán)
    revoke pri1,pri2,... on db_name.tb_name from 'username'@'host';
查看用戶的授權(quán)
show grants for 'username'@'host';   
ALL PRIVILEGES
添加用戶密碼后才能有登錄權(quán)限
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' |
+---------------------------------------------------------------------------+
為用戶設(shè)定密碼:
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';
藍(lán)色的password為函數(shù)
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
測(cè)試php與mysql通信
<?php
$connection=mysql_connect('localhost','root','123456');
if ($connection)
        echo "sucess...";
else
        echo "die..";
?>
phpmyadmin
將下載的文件解壓到DocumentRoot下,在瀏覽器用路徑訪問(wèn)即可
mysql初步入門概覽

對(duì)于以上關(guān)于mysql初步入門概覽,大家是不是覺(jué)得非常有幫助。如果需要了解更多內(nèi)容,請(qǐng)繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI