日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

1MySQL是面向对象型数据库_数据库及MySQL基础(1)

發布時間:2025/3/15 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1MySQL是面向对象型数据库_数据库及MySQL基础(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數據庫概述

關系型數據庫:面對關系,Java面向對象。html

·常見數據庫mysql

Oracle(神喻):甲骨文

DB2:IBM

SQL Server:微軟

Sybase:賽爾斯

MySQL:甲骨文,最先是開源的SUN;

1.1理解數據庫linux

·RDBMS-Relational database management system關系型數據庫管理系統sql

RDBMS-database-table-表結構&表記錄數據庫

RDBMS=管理員(Manager)+倉庫(database)安全

database=N個table服務器

table=表結構(定義列名稱和類型)和表記錄(真實數據)函數

表結構ui

表記錄編碼

1.2 應用程序與數據庫

應用程序使用數據庫完成對數據的存儲!

備注:數據庫的端口為3306

二、數據庫基本操做

/usr/bin/mysqladmin -u root -p shutdown

數據庫中止

/etc/init.d/mysql start

數據庫啟動

ps -ef|grep mysql

linux下MySQL數據庫狀態查看

mysql -uroot -p密碼-h地址

mysql -uroot -p密碼-h27.0.0.1

根權限進入數據庫,能夠開啟多個客戶端

quit、exit

退出數據庫

mysqld.exe

是服務的啟動標準(服務器端)

mysql.exe

是客戶端程序

my.ini

配置文件

USE bookstore;

進入數據庫,大小寫均可以可是通常要求標準是大寫

SHOW TABLES;

顯示數據表,注意必定要以【;】結尾

SHOW DATABASES;

顯示全部數據庫名稱

CREATE [IF NOT EXUSTS] 數據庫名稱

[CHARSET=utf8]

若是不存在時建立數據庫

DROP DATABASE 數據庫名稱;

刪除數據庫

ALTER DATABASE 數據庫名

CHARACTER SET uft8;

修改數據庫編碼

三、SQL語言概述

3.1,什么是SQL:結構化查詢語言(Structured Query Language);

3.2,SQL的做用:客戶端使用SQL語句來操做服務器;

3.3,SQL標準由國際化標準組織(ISO)制定,對DBMS的統一操做方式;

3.4,SQL方言,某種數據庫有本身特有的控制語句;

3.5,SQL語法:

①SQL語句能夠單行或多行,以分號結尾;

②可以使用空格和縮進來加強語句的可讀性;

③MySQL不區分大小寫,建議關鍵字都寫大寫;

3.6,SQL語句分類:

①DDL(Data Definition Language):數據定義語言,用來定義數據庫對象:庫、表、列等;

》建立、刪除、修改:庫、表結構;

②DML(Data Manipulation Language):數據操做語言,用來定義數據庫記錄(數據);

》增、刪、改:表記錄(內容)

③DCL(Data Control Language):數據控制語言,用來定義訪問權限和安全級別;

④DQL(Data Query Language):數據查詢語言,用來查詢記錄(數據)。

四、DDL

SHOW DATABASES;

USE 數據庫名稱;

CREATE DATABASE mufasa;//建立數據庫

1064錯誤語法錯誤

4.一、數據類型

int整型;

double浮點型,例如double(5,2)表示最多五位,其中必須有2位小數,即最大999.99;

decimal浮點型,在表單錢方面使用該類型,由于不會出現精度缺乏問題;

char固定長度字符串,char(255)長度不夠的自動加空格補足!

varchar可變長度字符串類型,varchar(65535),utf8漢字一個3個字節byte

text(clob):字符串類型

——tinytext 2^8-1B

——text 2^16

——mediumtext 2^24

——longtext 2^32-1B~4GB-1B內存大小

varbinary

tinyblog

blog 2^16-1B

mediublog 2^24

longblog 2^32

date日期類型,yyyy-mm-dd;

time時間類型,hh:mm:ss;

timestamp時間戳;

4.二、表操做

CREATE TABLE [IF NOT EXISTS] 表名(列名 列類型,列名 列類型,....);

SHOW TABLES; 顯示表

DESC 表名稱; 顯示表結構

DROP TABLE 表名稱; 刪除表

ALTER TABLE 表名ADD(列名 列類型,列名 列類型,列名 列類型);增長列

ALTER TABLE?表名?MODIFY 列名 列類型; 修改列類型

ALTER TABLE 表名DROP列名;

ALTER TABLE 原表名RENAME TO新表名;

五、DML

DQL:SELECT * FROM 表名;查詢表中的數據

DML(數據操做語言,它是對表記錄的操做:增、刪、改!)

5.1,插入數據

INSERT INTO 表名(列名1,列名2,...) VALUES (列值1,列值2,...);//對應列名稱插入

INSERT INTO 表名VALUES(列值1,列值2);//值的順序,必須與給出的列的順序相同

INSERT INTO tb_stu (number,name,age,gender,SCORE) VALUES ('mufasa_0007','ZSS',20,'female',75);

INSERT INTO tb_stu (number,name) VALUES ('mufasa_0002','zhangsan');

INSERT INTO tb_stu (number,name,age,gender) VALUES ('mufasa_0001','萬雨',25,'男');//中文易出錯

INSERT INTO tb_stu VALUES('mufasa_0003','wanyu',30,'man');//與原始列相同,不建議使用可讀性差

5.2,修改數據

UPDATE 表名SET列名=列值,列名=列值;//所有數據都修改

UPDATE 表名SET列名=列值WHERE列名=列值;

范例:UPDATE tb_stu SET name='mufasa' WHERE number='mufasa_0001';

條件(條件可選的):

>條件必須是一個boolean類型的值或表達式;

>運算符=、!=、<>、>、=、<=、BETWEEN...AND、IN(...)、IS NULL、NOT、OR、AND

注意:列名=NULL;永遠是false,可使用IS NULL替換

5.3,刪除數據

DELETE FROM 表名WHRER表中的條件數據;

DELETE FROM tb_stu WHERE number='mufasa_0001';//刪除特定一項

DELETE FROM tb_stu;//所有刪除

六、DCL

一個項目建立一個用戶!一個項目對應的數據庫只有一個!

6.1,建立用戶

CREATE USER 用戶名@IP地址IDENTIFIED BY 'cipher';

CREATE USER 用戶名@'%' IDENTIFIED BY 'cipher';//全部IP地址均可使用

范例:CREATE USER user@'%' IDENTIFIED BY 'cipher';

6.2,給用戶權限

GRANT 權限1,...權限n ON數據庫.* TO用戶名@IP地址;

范例:GRANT SELECT,CREATE,ALTER,DELETE,UPDATE ON mufasa.* TO user@'%';

范例:GRANT ALL ON mufasa.* TO user@'%';

6.3,撤銷受權

REVOKE 權限1,...權限n ON數據庫.* FROM用戶名@IP地址;

>撤銷指定用戶在指定數據庫上的制定權限

>例如:REVOKE CREATE,ALTER,DROP, ON mufasa.* FROM user@'%';

范例:REVOKE SELECT ON mufasa.* FROM user@'%';

6.4,查看權限

SHOW GRENTS FOR 用戶名@IP地址;

范例:SHOW GRANTS FOR user@'%';

6.5,刪除用戶

DROP USER 用戶名@IP地址;

七、DQL

DQL-數據庫查詢語言

查詢不會修改數據庫表記錄

7.1,基本查詢

1)查詢全部列

SELECT * FROM 表名;

范例:SELECT ?* FROM tb_stu;

2)查詢指定列

SELECT 列名稱1,列名稱2 FROM表名;

范例:SELECT name FROM tb_stu;//查看name這一列的數據值

3)徹底重復的記錄只一次

SELECT DISTINCT 列名1,列名2 FROM表名;

范例:SELECT DISTINCT name FROM tb_stu;

查詢結果去重,顯示;

4)列運算

①數據類型的能夠進行加【+】、減【-】、乘【*】、除【/】;

SELECT *,age*2 FROM tb_stu;

SELECT *,IFNULL(age,0)*2 FROM tb_stu;

②字符串能夠進行連續運算

SELECT CONCAT(列名1,列名2) FROM表名;

范例:SELECT CONCAT(name,gender) FROM tb_stu;

③轉換NULL值

IFNULL(列名,想要的顯示)

④給列起別名

SELECT 列名[AS]別名FROM表名;//其中AS能夠選,標準是加上

范例:SELECT name AS NAME FROM tb_stu;

7.2,條件控制

1)條件查詢

SELECT * FROM tb_stu WHERE name in ('wanyu','mufasa');//定向選擇

SELECT * FROM tb_stu WHERE age BETWEEN 20 AND 30;//數值范圍查詢,包含!!

SELECT * FROM tb_stu WHERE age IS NOT NULL;//非空查詢

SELECT * FROM tb_stu WHERE age=30;//非空查詢

2)模糊查詢

SELECT * FROM tb_stu WHERE name LIKE 'w____';//查詢w開頭,定長度模糊查詢

SELECT * FROM tb_stu WHERE name LIKE '___';//查詢三個長度的數值

SELECT * FROM tb_stu WHERE name LIKE '%u';//查詢u結尾數值,全部長度均可以查出

SELECT * FROM tb_stu WHERE name LIKE '%u%';//查詢有u字符的數值,開頭結尾中間都行

7.3,排序

SELECT * FROM tb_stu ORDER BY age;//經過age(默認升序)排序顯示

SELECT * FROM tb_stu ORDER BY age ASC;//升序排列

SELECT * FROM tb_stu ORDER BY age DESC;//降序排列

SELECT * FROM tb_stu ORDER BY IFNULL(age,25) ASC, score DESC;//多列聯合排序

7.4,聚合函數

SELECT COUNT(*) FROM tb_stu;//查詢數據行非NULL的總數

SELECT COUNT(age) FROM tb_stu;//查詢某列中非NULL個數

SELECT COUNT(DISTINCT age) FROM tb_stu;//查詢某列非NULL、非重復個數

SELECT COUNT(4) FROM tb_stu;//查詢第1列的個數與【*】效果相同

SELECT SUM(score) FROM tb_stu;//求和查詢

SELECT MAX(score) FROM tb_stu;//求最大

SELECT MIN(score) FROM tb_stu;//求最小

SELECT AVG(score) FROM tb_stu;//求均值

SELECT count(*) AS 人數,SUM(score) AS匯總分數,MAX(score) AS最高分數,MIN(score) AS最低分數,AVG(score) AS平均分數FROM tb_stu;

7.5,分組查詢

SELECT gender,count(*) FROM tb_stu GROUP BY gender;

//主信息只有兩列,1分組列,2集合函數

SELECT gender,count(*),MAX(score) FROM tb_stu GROUP BY gender;//顯示最大值

SELECT gender,count(*),MIN(score) FROM tb_stu WHERE score>80 GROUP BY gender;//先驗條件

SELECT gender,count(*),MIN(score) FROM tb_stu WHERE score>80 GROUP BY gender having count(*)>=2;

執行順序:SELECT,FROM,WHERE,GROUP BY,HAVING,ORDER BY,

7.6,limit子句(方言)

LIMIT用來限定查詢結果的起始行,以及總數行。

例如:查詢起始行為第2行,一共查詢3行記錄

SELECT * FROM tb_stu LIMIT 2,3;

①一頁的記錄數為10行;②查詢第3頁;

SELECT * FROM tb_stu LIMIT (3-1)*10,10;

總結

以上是生活随笔為你收集整理的1MySQL是面向对象型数据库_数据库及MySQL基础(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。