MySQL一周從入門到精通Day1

2021-10-05 06:03:19 字數 4459 閱讀 5148

實戰操作:

日期/時間

字串

包括:建立,修改,刪除

建立:表名,欄位名,字段型別

#mysql語法

create[temporary] table [if not exists] table_name [(create_definition,..)] [table_options]

[ ]可選

示例:

create table contacts<

id int not null auto_increment primary key,

name varchar<30>,

phone varchar<20>

> engine=inonodb default charset=utf8;

修改:alter命令新增,刪除,修改字段,對錶刪除

#新增字段***,型別為varchar(1)

alter

table contacts add *** varchar(1

);

#修改字段***型別為tinyiint

alter

table contacts modify *** tinyint

;

#刪除字段

alter

table contacts drop

column ***;

#刪除contacts表

drop

table contacts;

- 實踐:建表

create

table contacts(

id int

primary

key,

name varchar(30

),phone varchar(11

));

檢視表架構

desc contacts;
新增字段

alter

table contacts add *** char(1

);

修改字段

alter

table contacts modify *** int

;

刪除字段

alter

table contacts drop

column ***;

刪除表

drop

table contacts;

insert into向表中插入資料

insert

into table_name(field1,dield2,..

,fieldn)

values

(v1,v2,..

,vn)

;

insert

into table_name(field1,dield2,..

,fieldn)

values

(v1,v2,..

,vn)

,(c1,c2,..

,cn)

;

注意:

1 如果欄位是字元,值需要雙引號或者單引號,如『value』;如果字元含單引號,需要轉義字元 \ ,或者外面用雙引號「 」

2 如果所有列都要新增資料,insert into語句可以不指定列,如insert into table_name values(v1,v2,..,vn);

update語法update table_name set field1=newvalue1,field2=newvalue2 [where clause];

set鍵 value值

注意:1 可以同時更新多個字段

2 where可選子句來指定範圍,不帶where,則更新表所有記錄。如:update contacts set phone='13821215151' where name='張三';

delete語法delete from table_name [where clause];

注意:where可選子句來指定範圍,不帶where,則刪除表所有記錄。

實戰:#登入mysql -h localhoset -u root -p

#檢視資料庫show databases;

#使用資料庫use mydb;

#建立表

create

table contacts(

id int

notnull

auto_increment

primary

key,

//序號自動增長

name varchar(30

),*** tinyint

default1,

phone varchar(20

));

#檢視表結構desc contacts;

#插入資料insert into contacts(name,***,phone)values('張三',1,'13300000000');

#查詢表資訊select * from contacts;

#插入資料(字元含 』 )(多條資料)

insert into contacts(name,***,phone)values('hu\『s cat',1,'13300000000');

insert into contacts(name,***,phone)values("hu's cat",1,'13300000000');

insert into contacts(name,***,phone)values(" 李四",1,'13300000000'),('趙六',1,'13300000000');

#修改資料

(限定範圍)update contacts *** =2 where name='張三';

#查詢表資訊select * from contacts;

(不加限定範圍)update contacts ***=2;

#查詢表資訊select * from contacts;

#刪除資料

delete from contacts where id =3;

delete from contacts;

指儲存在資料庫中的資料,應該保持一致性和可靠性。

關係模型允許定義三類資料約束:實體完整性(唯一可區分),參照完整性(外來鍵約束),使用者定義完整性約束(自定義規則),域完整性(限制資料格式)

唯一性約束

關鍵字unique實現字段唯一性約束

外來鍵約束

foreign key定義了對其他表的引用

在插入資料,先向主表插入,刪除則相反

create

table stu(

//主表

stu_no int

notnull

primary

keycomment

'學號',

stu_name varchar(30

)comment

'姓名'

);

create

table score(

//從表

id int

notnull

auto_increment

primary

keycomment

'主鍵id',

stu_no int

notnull

primary

keycomment

'學號',

course varchar(30

)comment

'課程',

score varchar(30

)comment

'成績',

foreign

key(stu_no)

references stu(stu_no)

);

MySQL一周從入門到精通Day4

可以通過命令臨時設定,也可以通過修改配置永久設定 檢視是否開啟慢日誌 show variables like slow 臨時開啟慢日誌 set slow query log on 設定閾值 set long query time 1 慢日誌檔案路徑 show variables like datad...

MySQL一周從入門到精通Day7

2 表 3 字段 實戰 字符集之gb2312裝不下 屌絲 create table t1 name varchar 30 ult charset gb2312 insert into t1 value2 張三 ok insert into t1 values 屌絲 失敗了!gb2312不支援繁體字 ...

mysql從入門到精通

在sql語言中,用join實現表與表的關聯,用on指定聯合表的查詢條件,如 實現三表聯查,可以用table1.table2.來排列 顯示資訊的先後順序 select from user left join address on user id address.user id left join us...