日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MySQL学习(四)

發布時間:2025/3/18 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL学习(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 MySQL日期和時間類型
創建一個包含DATE類型的表

mysql> create table test3(-> star varchar(20) not null default '',-> birth date-> )engine myisam charset utf8;

向表中插入數據

mysql> insert into test3-> values-> ('張國榮','2010-10-10'); Query OK, 1 row affected (0.38 sec)

2010-10-10兩邊的單引號不要忘記。
date能存1000-01-01到9999-12-31

2 time類型

3 datetime類型

4 year類型只占1個字節,只能代表1901-2155年,若果范圍出錯,則為0000。

5 練習題
高端私密白領社交網站數據庫
優化前

優化后
分析,這張表除了username/intro列之外,每一列都是定長的。我們不妨可以讓所有列都定長,可以極大提高查詢速度
username中把varchar改為char,雖然會造成存儲空間上的浪費,但是提高了速度。但是把intro改為char(1500),就會造成空間的極大浪費。
空間和時間是一對矛盾,優化方法:時間換空間,空間換時間。
第一次優化后

又考慮到,當一個人注冊后,個人簡介不會頻繁的改動,可以把intro單獨拿出來成為一個表
在開發過程中,會員的信息優化往往是,把頻繁用到的信息,優先考慮效率,存儲到一張表中。不常用的信息和比較占據空間的信息,優先考慮空間占用。存儲到輔表。
第二次優化

上次登錄時間使用datetime類型,不容易計算,考慮使用時間戳

建表語句

mysql> create table member(-> id int unsigned auto_increment primary key,-> username char(20) not null default '',-> gender char(1) not null default '',-> weight tinyint unsigned not null default 0,-> birth date,-> salary decimal(8,2) not null default 0.00,-> lastlogin int unsigned not null default 0-> )engine myisam charset utf8; Query OK, 0 rows affected, 1 warning (0.67 sec)

6 一張表創建完畢后,有了N列,之后還有可能增加或刪除或修改列。
添加無完整約束條件的字段
創建一個表

mysql> create table m1(-> id int-> )engine myisam charset utf8;

添加字段

mysql> alter table m1 add name varchar(30);

在表的指定列之后添加一個字段

mysql> alter table m1 add location varchar(30) after id;

在表的第一列添加一個字段

mysql> alter table m1 add managerid int(10) first;

刪除字段

mysql> alter table m1 drop location;

修改字段的排列位置

mysql> alter table m1 modify name varchar(5);

修改后

注意 modify不能改列名,修改列類型用change

修改字段名

mysql> alter table m1 change location loc varchar(5);

7 課后問題:如果列類型改變,導致數據存不下怎么辦?
比如int改為smallint列,如果不匹配,數據會丟失,或者在mysql的strict_mode下無法修改。

轉載于:https://www.cnblogs.com/Manual-Linux/p/10179827.html

總結

以上是生活随笔為你收集整理的MySQL学习(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。