mysql形態是什麼意思 Mysql 基礎語法1

2021-10-18 11:20:07 字數 3112 閱讀 8373

mysql的軟體架構

1.開啟mysql伺服器:以windows服務的形式開啟,在cmd下net startmysql|net stop mysql,在cmd下使用mysqld –default-file= 「d:/amp/mysql/my.ini」

2.連線mysql伺服器

3.mysql的幫助命令,help,裡面的指令都可以使用  \字母 來完成

4.mysql的注釋符:行注釋:#或-- ,塊注釋是/*   */

資料庫的操作

建立資料庫:create database 庫名[庫選項];

檢視資料庫:show databases;  show createdatabase 庫名;

刪除資料庫:drop database [if exists] 庫名

修改資料庫:只能修改庫選項;alter database 庫名新的庫選項

資料表操作

選擇資料庫:顯式的選擇,在表名的前面加上庫名;隱式的選擇,use 庫名;

建立資料表:create table 表名(字段列表)[表選項];

檢視資料表:show tables;  show createtable 表名; describe|desc 表名;

修改資料表:

1修改表名:altertable 表名 rename to 新錶名; rename table 舊表名 to 新錶名

2修改列定義:

增加一列:alter table 表名 add 新字段名字段型別;

刪除一列:alter table 表名 drop 欄位名;

修改字段型別:alter table 表名 modify 欄位名新的字段型別

修改字段排序:alter table 表名 modify 欄位名1 新的字段型別

first|after 欄位名2

重新命名字段:alter table 表名 change 舊欄位名新欄位名 新字段型別

3修改表選項:altertable 表名新的表選項(default charset gbk engine myisam)

資料操作

插入資料:insert into 表名(字段列表)values(值列表)

檢視資料:select *|字段列表 from 表名 [where查詢條件]

刪除資料:delete from 表名[where刪除條件]

修改資料:update 表名 set 欄位1=新值1,欄位2=新值2……[where修改條件]

數值型別

1.整數:tinyint,smallint, mediumint,int,bigint

2.小數:

a.浮點數float/double

b.定點數:decimal,也叫貨幣型

日期時間型

datetime和timestamp

date

time:時間間隔|一天中的時間

year:70以後的代表19xx,69及69以前的代表20xx

字串型別

char和varchar

1. 都需要指定字元的長度,char中的長度是字元的長度,而varchar的長度是位元組的長度

2.  char中指定的長度就是實際占用的長度,而varchar指定的長度只是乙個範圍,所以varchar還要拿1-2個位元組儲存該字串到底有多少個位元組,並且varchar中能夠實際儲存的字元跟編碼有關(utf8編碼20000多,gbk編碼30000多)

3.  varchar對儲存空間的占用更靈活,但是char的效率更高

4.如果字串的長度是固定已知的,就用char,如果字串的長度是可變的,就用varchar

b.text:文字型別,使用起來類似於varchar,只不過這裡不需要指定長度,其中longtext認為文字沒有限制

c.enum:列舉型別,類似於單選!實際儲存的是原選項的位置,位置用1,2,3,4來代替,理論上最多可以表示65535個選項

d.set:集合型別,類似於多選!實際儲存的是也原選擇的位置,位置用1,2,4,8來代替,然後把所有選項的位置相加,理論上最多可以表示64個多選項

e.binary、varbinary、blob:二進位制文字型別,就是位元組流的char、varchar和text,在實際的專案中,很少使用

二,列屬性

null|not null,預設值是null,也就是允許為空,如果是notnull而又沒有給該字段賦值的話,系統會首先查詢該欄位有沒有預設值

default:給乙個字段乙個預設值,如果沒有給該字段填充資料,就用該預設值來代替,通常就是配合not null一起使用

primary key:主鍵,唯一可區別其他記錄的字段,乙個表中只能有乙個主鍵,也可以很多個字段組合成乙個組合主鍵,而且不允許為空!

unique key:唯一鍵,與主鍵的區別是唯一鍵可以有很多個,而且允許為空

auto_increment:自動增長,使用這個屬性有兩個條件,第一該欄位必須為整型,第二該欄位必須存在索引,通常就是配合主鍵一起使用,也可以通過修改表選項設定自動增長的預設初始值

comment:列注釋

三,索引

索引的本質就是在「原始表」的基礎之上根據某個或某些字段進行排序後的「內建表」

索引的最大優勢可以極大的提高查詢速度

在提高查詢速度的同時也降低了增刪改的速度

四,實體與實體關係

一對一:主要用來做資料表的優化(垂直分割)

一對多:在多的那一方增加乙個字段,用於指向1的那一方

多對多:增加乙個中間表,就是將乙個多對多的關係拆分成兩個一對多的關係

五,外來鍵

只有innodb儲存引擎才可以使用

關鍵字:foreign key

級聯操作:主表更新onupdate[級聯操作],主表刪除:語法形式為:on delete[級聯操作]。cascade:同步操作,set null:設定為null,restrict:拒絕主表的更新或刪除

定義方式:foreignkey(本表欄位名) references 父表(主鍵) on delete[cascade|set null|restrict] on update [cascade|setnull|restrict]

六,正規化

1第一正規化:要求把各種資料設計成乙個乙個的字段,不能再分

2第二正規化:在滿足第一正規化的基礎之上,表中的一行都具有唯一的可以區分的特性;不能有部分依賴

3第三正規化:在滿足第二正規化的基礎之上,消除傳遞依賴

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...

In 是什麼意思

函式引數型別前 in 代表什麼 在visual c 中屬於sal批註,是為了編譯系統在分析 時發現缺陷用的 表示是乙個輸入引數。可以定義乙個 in 的巨集,這個巨集什麼都不做,就是形如這樣的。define in void fun int in x 等同於 void fun int x 但是他給出了引...