學習mysql的第三天

2021-07-22 09:19:26 字數 1854 閱讀 5421

今天是週六,複習了前兩天天學習mysql的東西,

每天學習的東西都很少,

這兩天加起來只學習了這幾個資料型別: int char varchar enum 

int中可以修飾的詞有 unsigned zerofill auto_increment, not null.

一、初步了解如何在sqlyog中建立表的操作;

例如:create table student (

id int(3) unsigned zerofill not null auto_increment,

name varchar(10),

*** enum('男','女'),

tid int(4) unsigned not null,

primary key id

當id由 auto_increment 修飾的時候需要新增主鍵,我是這麼理解的。

二、如何向表中鍵入資訊

insert語句

例如:insert student (id, name,***,tid)  values (1,zhang,1,1);

多條插入

insert student (id, name,***,tid)  values (),(),(),();

三、除了這些還了解到如何修改表的操作

使用alter 語句

例如想要新增欄位符可以使用

alter table student add tel varchar(11) not null;

刪除字段可以使用

alter table student drop name;

對字段的修改

alter table student change *** *** enum('male','female');

修改表的字符集

alter table student default charset=latin1 ;

修改資料庫

alter database chi character set latin1 ;

新增外來鍵

外來鍵我的理解是 關聯兩個表之間的橋梁

假如我建立了乙個表teacher

create table teacher (

id int(4) unsigned zerofill not null auto_increment,

我需要將student中的學生分班 可以使用外來鍵

alter table student add constraint fk foreign key (tid) references teacher(id);

還可以在新增外來鍵時加上   on delete set null, oon update cascade, on delete cascade,on delete set  null on update cascade的 修飾。

對**的資訊做修改操作

update student set tid=2 where tid=1;

replace student (id) values();---分別表示在主表字段值不同和相同時的作用。

表內容的刪除,

delete from 表名----觸發刪除觸發器。可進行逐條操作,

truncate table 表名---不觸發,只能將表中的資料完全清除。

表內容的查詢

全部內容的查詢:

select * from student  --------------   符號*代表全部的意思

select(欄位名) from student ------------對想要的資訊進行查詢

可以在select語句後面新增條件

比如  等值= ,<=,>=; 空值 is null; 區塊 between and;in設定,like設定

MySQL學習第三天

create table if not exists user id tinyint,engine innoob charset utf8 之後使用desc name 你會驚奇的發現tinyint後面多出了乙個4 那是因為tinyint可以表示128,符號也代表一位,它是資料寬度 即便你設定資料寬度...

MySQL學習第三天

如果有其它觀點可以提出來奧 什麼是連線查詢 多張表連起來查詢。如果把全部資料儲存在一張表內的話,會導致資料重複,導致資料的冗餘。在乙個資料集合中重複的資料叫做資料冗餘 連線查詢分類 根據語法劃分 sql92 sql99 sql99語法結構更清晰一些,表的連線條件和後來的where條件分離了。sql9...

學習第三天

額,又是美好的一天!祝賀比利時奪得季軍!下面,還是先看資訊學 今天繼續看倍增。這道題是和倍增沾邊的題,額,其實就是兩邊floyd。但是思路還是可以借鑑的。這道的思路是,使用兩個陣列,乙個是f k u v 這個陣列表示節點u到節點v之間是否距離為2 k,如果是,則為1,否則為0.代表u和v之間是否1s...