大家好,今天給各位分享mysql怎么創建數據表的一些知識,其中也會對MySQL創建學生表進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在就馬上開始吧!
mysql教程
MySQL教程
MySQL是最流行的關系型數據庫管理系統,在WEB應用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:關系數據庫管理系統)應用軟件之一。
在本教程中,會讓大家快速掌握MySQL的基本知識,并輕松使用MySQL數據庫。
什么是數據庫?
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。
每個數據庫都有一個或多個不同的API用于創建,訪問,管理,搜索和復制所保存的數據。
我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。
所以,現在我們使用關系型數據庫管理系統(RDBMS)來存儲和管理大數據量。所謂的關系型數據庫,是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。
RDBMS即關系數據庫管理系統(RelationalDatabaseManagementSystem)的特點:
1.數據以表格的形式出現
2.每行為各種記錄名稱
3.每列為記錄名稱所對應的數據域
4.許多的行和列組成一張表單
5.若干的表單組成database
RDBMS術語
在我們開始學習MySQL數據庫前,讓我們先了解下RDBMS的一些術語:
數據庫:數據庫是一些關聯表的集合。
數據表:表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
列:一列(數據元素)包含了相同類型的數據,例如郵政編碼的數據。
行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
冗余:存儲兩倍數據,冗余降低了性能,但提高了數據的安全性。
主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據。
外鍵:外鍵用于關聯兩個表。
復合鍵:復合鍵(組合鍵)將多個列作為一個索引鍵,一般用于復合索引。
索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。類似于書籍的目錄。
參照完整性:參照的完整性要求關系中不允許引用不存在的實體。與實體完整性是關系模型必須滿足的完整性約束條件,目的是保證數據的一致性。
MySQL為關系型數據庫(RelationalDatabaseManagementSystem),這種所謂的"關系型"可以理解為"表格"的概念,一個關系型數據庫由一個或數個表格組成,如圖所示的一個表格:
表頭(header):每一列的名稱;
列(col):具有相同數據類型的數據的集合;
行(row):每一行用來描述某條記錄的具體信息;
值(value):行的具體信息,每個值必須與該列的數據類型相同;
鍵(key):鍵的值在當前列中具有唯一性。
MySQL數據庫
MySQL是一個關系型數據庫管理系統,由瑞典MySQLAB公司開發,目前屬于Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL是開源的,所以你不需要支付額外的費用。
MySQL支持大型的數據庫。可以處理擁有上千萬條記錄的大型數據庫。
MySQL使用標準的SQL數據語言形式。
MySQL可以運行于多個系統上,并且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
MySQL對PHP有很好的支持,PHP是目前最流行的Web開發語言。
MySQL支持大型數據庫,支持5000萬條記錄的數據倉庫,32位系統表文件最大可支持4GB,64位系統支持最大的表文件為8TB。
MySQL是可以定制的,采用了GPL協議,你可以修改源碼來開發自己的MySQL系統。
如何建立MYSQL數據庫
以下是基本的mysql數據庫建立步驟:
1.安裝mysql。下載并安裝mysql軟件。
2.創建mysql數據庫服務器。在控制臺輸入“mysql.serverstart”,啟動mysql服務器。
3.創建mysql用戶。在mysql中創建一個新的用戶。
4.使用mysql命令行工具來登錄到數據庫。在命令行輸入用戶名和密碼。
5.創建一個新的數據庫。在mysql命令行中輸入“createdatabasedatabase_name;”。
6.創建表。在mysql命令行中輸入“createtabletable_name(column1_namedata_type,column2_namedata_type,...);”。
7.插入數據。在mysql命令行中輸入“insertintotable_name(column1_name,column2_name,...)values(value1,value2,...);”。
8.查詢數據。在mysql命令行中輸入“select*fromtable_namewherecondition;”。
考慮到mysql數據庫的復雜性,強烈建議初學者先完成基礎的mysql學習教程,以確保不會犯任何錯誤。
MySQL創建數據庫的命令、創建表的命令、插入語句的命令
1.創建數據庫
CREATEDATABASEIFNOTEXISTSRUNOOBDEFAULTCHARSETutf8COLLATEutf8_general_ci;
#如果數據庫不存在則創建,存在則不創建
#創建RUNOOB數據庫,設定編碼為utf8
2.刪除數據庫
dropdatabaseRUNOOB;
3.選擇數據庫
useRUNOOB;
#使用數據庫RUNOOB
4.數據類型
5.創建數據表
CREATETABLEtable_name(column_namecolumn_type,column_name2column_type2);
<etc>
CREATETABLEIFNOTEXISTS`runoob_tbl`(
`runoob_id`INTUNSIGNEDAUTO_INCREMENT,
`runoob_title`VARCHAR(100)NOTNULL,
`runoob_author`VARCHAR(40)NOTNULL,
`submission_date`DATE,
PRIMARYKEY(`runoob_id`)#主鍵
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
來自<http://www.runoob.com/mysql/mysql-create-tables.html>
</etc>
#表明、字段名字外面的符號是反引號,為了區分mysql關鍵字和普通字符
6.刪數據表
DROPTABLEtable_name;
#刪除表內數據
deletefrom表明whererunoob_title=“exam”;
#清除表內數據,保留表結構
truncatetable表名;
#刪除后立刻釋放磁盤空間
optimizetable表名;
7.增插入數據到表
INSERTINTOtable_name(field1,field2,…)VALUES(value1,value2,"value"…);
#字符類型,value需要使用單/雙引號。
mysql數據庫如何獲得用戶、數據庫、登錄IP等信息
這個非常簡單,MySQL數據庫的用戶信息、數據庫信息和登錄IP信息通常都保存在系統數據庫中,可以直接經過查詢得到,下面我簡單介紹一下,以MySQL5.5為例:
用戶信息這個主要保存在mysql數據庫的user表中,通常修改用戶的密碼、刪除用戶及分配權限等就是在這個表進行,下面我簡單介紹一下:
查詢所有用戶這個直接執行“selectuser,hostfromuser;”語句就行,如下,第一列為用戶名,第二列為允許登錄的IP,%表示任意IP都可登錄,localhost則只允許本地登錄:
查詢用戶權限這個直接執行“showgrantsfor'user'@'host';”命令就行,如下,以root用戶為例,則直接執行“showgrantsfor'root'@'localhost';”命令,all表示所有權限,select表示只查權限,update表示只改權限,delete表示只刪權限等:
數據庫信息這個主要保存在information_schema數據庫中,它通常保存著MySQL數據庫所維護的所有數據庫信息,包括數據庫名,數據表名,表欄的數據類型與訪問權限等,下面我簡單介紹一下:
查詢所有數據庫
這個直接執行“showdatabases;”命令就行,如下,會列出當前MySQL數據庫中存儲的所有數據庫,查看某一個數據庫下所有數據表的話,執行“showtables;”命令就行:
查看數據庫大小
以test數據庫為例,計算單位為MB,直接執行“selectconcat(round(sum(data_length)/(1024*1024),2)+round(sum(index_length)/(1024*1024),2),'MB')as'DBSize'fromtableswheretable_schema='test';”命令就行,如下:
查看數據庫編碼
這個直接執行“showvariableslike'character%';”命令就行,如下,character_set_client為客戶端編碼,character_set_connection為建立連接編碼,character_set_database為數據庫編碼,character_set_results為結果集編碼,character_set_server為數據庫服務器編碼;
登錄IP信息這里通常是查看連接MySQL數據庫的IP信息,統計每個IP的連接數,執行“selectSUBSTRING_INDEX(host,':',1)asip,count(*)frominformation_schema.processlistgroupbyip”命令就行,如下,第一列為IP地址,第二列為該IP下的連接數:
至此,我們就完成了查詢MySQL數據庫的用戶信息、數據庫信息和登錄IP信息。總的來說,整個過程非常簡單,只要你有一定的MySQL基礎,熟悉一下相關文檔和說明,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
如何在mysql數據表中顯示當前時間
1.1獲得當前日期+時間(date+time)函數:now()除了now()函數能獲得當前的日期時間外,MySQL中還有下面的函數:current_timestamp()current_timestamplocaltime()localtimelocaltimestamp()localtimestamp這些日期時間函數,都等同于now()。
鑒于now()函數簡短易記,建議總是使用now()來替代上面列出的函數。1.2獲得當前日期+時間(date+time)函數:sysdate()sysdate()日期時間函數跟now()類似,不同之處在于:now()在執行開始時值就得到了,sysdate()在函數執行時動態得到值。2.獲得當前日期(date)函數:curdate()其中,下面的兩個日期函數等同于curdate():current_date(),current_date3.獲得當前時間(time)函數:curtime()其中,下面的兩個時間函數等同于curtime():current_time(),current_time4.獲得當前UTC日期時間函數:utc_date(),utc_time(),utc_timestamp()mysql怎么創建數據表和MySQL創建學生表的問題分享結束啦,以上的文章解決了您的問題嗎?歡迎您下次再來哦!