數據庫創建 表

1.數據庫 (mysql redis mongodb) 我們要學的

2.DBMS? (data base management system) 數據庫管理系統

mysql:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip地址' IDENTIFIED BY '密碼' WITH GRANT OPTION;

遠程操控

quit? 退出數據庫

mysql -h ip地址 -u root

default_storage_engine? 默認存儲引擎

memor 內存 (存儲引擎)

mysql? -h root? -u 進入

創建數據庫:

create schema 數據庫名;

create? database? 數據庫名;(數據庫創建,沒聲明字符集? 默認為latin1)

create database 數據庫名? charset="字符集";(創建數據庫并設置字符集)

數據庫不能重名? 如果重名會報錯:create database 數據庫名 if not? exists? charset="字符集";(如果沒有這個數據庫,就創建 ,如果有不報錯)

顯示

show databases;顯示所有的數據庫。

默認數據庫:   mysql - 用戶權限相關數據

test - 用于用戶測試數據

information_schema - MySQL本身架構相關數據

performance_schema - 主要用于存儲數據庫服務性能參數

use 數據庫名;選擇數據庫。(database changed 表示成功選擇了數據庫)

select database();查看當前所在數據庫

查看當前數據庫編碼格式 。 show variables like "character_set_database";

刪除

刪除數據庫 drop database 數據庫名;

當我們使用上面的命令刪除數據庫,如果指定的數據庫不存在,將產生如圖所示的異常信息。

為了解決這一問題,可以在DROP DATABASE語句中使用IF EXISTS從句來保證只有當數據庫存在時才執行刪除數據庫的操作。

drop database if exists 數據庫名稱;

修改數據庫的語句的語法格式如下:

ALTER {DATABASE | SCHEMA} [數據庫名] [DEFAULT] CHARACTER SET [=] 字符集 | [DEFAULT] COLLATER [=] 較對規則名稱

數據庫中儲存引擎和數據類型

show engines;查看mysql中支持的全部存儲引擎。

SHOW VARIABLES LIKE 'default_storage_engine';查詢默認的存儲引擎。

mysql 中默認的存儲引擎是 innodb

InnoDB存儲引擎:用于事務處理應用程序,具有眾多特性,包括ACID。事務支持,支持外鍵。同時支持崩潰修復能力和并發控制。 ACID:

原子性(Atomicity):整個事務中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

一致性(Consistency):一個事務可以封裝狀態改變(除非它是一個只讀的)。事務必須始終保持系統處于一致的狀態,不管在任何給定的時間并發事務有多少。

隔離性(Isolation):隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統

持久性(Durability):在事務完成以后,該事務對數據庫所作的更改便持久的保存在數據庫之中,并不會被回滾。

mysql 的常用數據類型

? ? 數值型

浮點型

日期/時間

字符串(字符)類型

char(字節) 定長字符串 (如果數據小于 自己定的字節長度 自動補全到自己定的字節長度)

varchar(字節)變長字符串(自己定的字節為最大字節數,有多少字節寫入多少字節)

創建表

創建表時 要選擇 數據庫。

使用CREATE TABLE 語句 新表的的名字,在關鍵字CREATE TABLE 之后; 表列的名字和定義,用逗號分隔;

create table? 表名(定義1,定義2);

查看表 show? tablse;

查看表詳細信息 show? create? table? 表名;

查看表結構? desc 數據表名;

查看某一列的信息? desc 數據表名 列名;

主鍵 primary key(唯一標識)

任意兩行都不具有相同的主鍵值;

每個行都必須具有一個主鍵值(主鍵列不允許NULL值)

不更新主鍵列中的值;

不重用主鍵列的值;

不在主鍵列中使用可能會更改的值。(例如,如果使用一個 名字作為主鍵以標識某個供應商,當該供應商合并和更改其名字時,必須更改這個主鍵。)

使用AUTO_INCREMENT 自增(auto_increment)

設置默認值(DEFAULT)(default)

更新表(ALTER TABLE)? 改變表

添加字段:alter? table? 表名 add? 要添加的列名? 數字格式? 默認值(添加一列)

alter table 表名 add(要添加的第一列名 數字格式 默認值,要添加的第二列名 數字格式 默認值);添加多列字段

修改字段名(列) alter? table? 表名? change? 字段名? 新字段名? ? 數據類型

刪除字段名(列):

在MySQL的ALTER TABLE中,使用DROP col_name子句可以刪除指定字段。下面將通過一個具體實例演示如何刪除字段。

alter table? drop? 列名:刪除指定的字段

修改表名:

alter? table 老的表名 rename as? 新的表名;

rename table? 數據表名1? to? 數據表名2;

刪除表:

drop? table 表名;

drop table? if exists 表名;

復制表:

create table if not exists 數據表名? like 源數據表名;

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容