mysql開始第一步 了解MySQL的第一步

2021-10-17 21:46:00 字數 4282 閱讀 1807

mysql基本概念:

操作語句

1. 運算元據庫:

建立資料庫: create database 資料庫名 charset utf8;

檢視資料庫: show databases;

選擇資料庫: use 資料庫名;

刪除資料庫: drop 資料庫名;

修改資料庫: alter database 資料庫名 charset utf8;

複製**

2. 操作表:

先切換到資料庫下:

建立:create table 表名(欄位名1 型別(寬度) 約束條件,欄位名1 型別(寬度) 約束條件);

檢視:show tables;

修改:alter table 表名 modify 欄位名 型別(寬度);

alter table 表名 change 舊欄位名 新欄位名 型別(寬度);

刪除:drop table 表名;

複製**

3. 操作表中的記錄:

插入:insert into 表名 values(值1,值2.....);

查詢:select * from 表名;

修改:update 表名 set 欄位名=值 where 條件;

刪除:delete from 表名 where 條件;

複製**

約束

為了防止在資料表中插入錯誤的資料,在mysql中定義了一些維護資料庫完整性的規則,這個規則就是表的約束,通過這些約束我們可以保證資料的正確性。

主鍵約束:

當我們的資料庫中儲存了成千上萬條資料時,如何能找到你需要的那條資料呢? mysql提供的主鍵約束即可幫助我們快速的查詢到我們想要的資料。 主鍵是唯一標識一條記錄的,可以把它比喻為身份證號,儘管全世界有那麼多人, 但只要知道了身份證號就可以很快的查詢乙個人的資訊。

外來鍵約束:

表的外來鍵是另一表的主鍵, 外來鍵可以有重複的, 可以是null,用來和其他表建立聯絡用的,乙個表可以有多個外來鍵。

非空約束:

非空約束所對應的列在插入資料時不允許為空,也就是必須為該字段賦值,mysql中使用not null來表時非空約束其語法為:

create table money(time datatime,money int not null);

複製**

唯一約束:

唯一約束用於保證資料表中字段的唯一性,即表中字段不可以出現重複的值, 唯一約束通過unique來指定,其語法格式為:

create table person(id int unique,age int);

複製**

預設值約束:

在一些應用場景下,我們會希望對每一條資料中的某個字段賦予乙個預設值, 例如:在一些遊戲中,每個賬號缺省會贈送給使用者一定數量的金幣,此時金幣這個資料就可以使用預設值約束了,mysql中使用de****t為字段指定預設值其語格式為:

create table user(account char(20),password char(6),money int de****t 1000);

複製**

基本資料型別:

整數tinyint() 1位元組

smallint() 2位元組

mediumint() 3位元組

int() 4位元組

bigint() 8位元組

對於整型而言,寬度用於控制顯示的長度

例如 int(10) 則表示顯示的時候,如果不足10位則補足到10位,預設用空格填充

zerofill 設定以0填充

複製**

浮點float(m,d) 4位元組

double(m,d) 8位元組

decimal(m,d) 不固定

在浮點型別中,後面的m表示整體長度,d表示小數長度

注意:是長度和位元組數無關

複製**

字串char

定長字串,超出範圍會報錯,速度快

varchar

可變長字串,節省空間,速度慢

複製**

時間year

date

time

datetime

timestamp 自動更新

複製**

建立表之間的關係

一對多關係:

1.建立表

建立主表(department)

create table department(id int primary key auto_increment,

department_name char(20) unique,

job char(50) not null);

建立從表(employee)

create table employee(id int primary key auto_increment,

employee_name char(20) not null,

gender char(20),

age int,

foreign key(id) references department(id));

2.插入表

插入主表

insert into department values(1,'市場部','宣傳'),(2,'銷售部','銷售');

插入從表

insert into employee values(1,'jarvis','male',28),(2,'jasion','male',25);

刪除要先刪除從表再刪除主表

刪除記錄也一樣,要先刪從表再刪主表

級聯:on delete cascade 當主表刪除記錄時 從表相關聯的記錄同步刪除

on update cascade 當主表id更新時 從表相關聯的記錄同步更新

主表變化操作從表,從表變化不會操作主表

#例項語句

create table employee(id int primary key auto_increment,

employee_name char(20) not null,

gender char(20),

age int,

foreign key(id) references department(id) on delete cascade);

複製**

多對多關係:

多對多需要有乙個中間表來存貯表的關聯關係

1.建立表

建立主表(teacher)

create table teacher(id int primary key auto_increment,name char(25));

建立主表(student)

create table student(id int primary key auto_increment,name char(25));

建立從表(relation 關係表)

create table relation(id int primary key auto_increment,

t_id int,s_id int,

foreign key(t_id) references teacher(id),

foreign key(s_id) references student(id)

2.輸入值

insert into teacher values

(1,"egon"),

(2,"jack");

insert into student values

(1,"uu"),

(2,"yy");

3.插入對應關係

insert into relation values

(null,1,1),

(null,1,2),

(null,2,2);

複製**

一對一關係:

使用外來鍵來關聯,但是需要給外來鍵加上唯一約束,也就是說兩個一對一是有主從關係的

create table t1(id int primary key auto_increment,name char(20));

create table t2(id int primary key auto_increment,name char(20),

t1_id int unique,

foreign key(t1_id) references t1(id));

#垂直分表:

當乙個表的字段太多,常用字段不多時,可以採取垂直分表的方式來提高效率

複製**

今天邁出第一步,開始了解iphone開發

從昨天開始再次折騰iphone開發,今天終於基本搞定了.不過事先提醒,您的計算機記憶體要是不夠4g,還是別考慮虛擬機器安裝了,不然真受不了這個速度.今天按照上面的配置終於看到了久違的xcode,呵呵 手上的objective c的資料有一本紙質書,一本電子書,兩本書的第乙個例子都是hello wor...

出國第一步 資訊了解

先閱讀一些在同人中口碑較好的書籍或攻略,作為入門第一步。如果同仁堂出了乙個 頭痛的特效藥,你肯定會買。但是要是同仁堂不出呢,你也會考慮其他的牌子,比如北京製藥廠,對嗎?關鍵是他可以解決你的問題,當然,它必須不是假藥或過期藥,對嗎?你肯定聽過北京製藥廠吧,你肯定不會去找那種所謂的包治百病的 萬能藥 對...

開始學習SRS的第一步

其他都是參照那個檔案執行的2 git clone cd srs trunk 3 configure make編譯 4 將以下內容儲存為檔案,譬如conf rtmp.conf,伺服器啟動時指定該配置檔案 srs的conf資料夾有該檔案 conf rtmp.conf listen 1935 max co...