雖然mysql已經被收購了,可是做爲市面上主流的數據庫,仍是要學習下。mysql
MySQL有三大類數據類型, 分別爲數字、日期\時間、字符串, 這三大類中又更細緻的劃分了許多子類型:sql
數字類型數據庫
整數: tinyint、smallint、mediumint、int、bigint服務器
浮點數: float、double、real、decimal網絡
日期和時間: date、time、datetime、timestamp、yearide
字符串類型工具
字符串: char、varchar學習
文本: tinytext、text、mediumtext、longtextspa
二進制(可用來存儲圖片、音樂等): tinyblob、blob、mediumblob、longblob3d
登陸到MySQL
當 MySQL 服務已經運行時, 咱們能夠經過MySQL自帶的客戶端工具登陸到MySQL數據庫中, 首先打開命令提示符, 輸入如下格式的命名:
mysql -h 主機名 -u 用戶名 -p
-h : 該命令用於指定客戶端所要登陸的MySQL主機名, 登陸當前機器該參數能夠省略;
-u : 所要登陸的用戶名;
-p : 告訴服務器將會使用一個密碼來登陸, 若是所要登陸的用戶名密碼爲空, 能夠忽略此選項。
mysql -D test -uroot -p 至關於登錄mysql服務器. use test;
建立新用戶並受權
GRANT 權限 ON 數據庫.數據表 TO 用戶名@登錄主機 IDENTIFIED BY "密碼";
GRANT SELECT,UPDATE ON test.* TO qingqing@localhost IDENTIFIED BY '123';
建立數據庫:
CREATE DATABASE [ IF NOT EXISTS ] book;
刪除數據庫
DROP DATABASE [ IF EXISTS ] book;
顯示全部的數據庫:
SHOW DATABASES;
使用某個數據庫:
USE test
查看錶的結構
DESC user;
查看建表語句:
SHOW CREATE TABLE user;
添加字段 ALTER TABLE user ADD age TINYINT
修改字段 ALTER TABLE user MODIFY age int
修改字段(同時修改字段名) ALTER TABLE user CHANGE name username varchar(30)
刪除字段 ALTER TABLE user DROP age;
重命名錶名 RENAME TABLE user TO user1;
表的字段類型解釋:
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2.自動INSERT 到當前時間,不過不自動UPDATE。
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
三、一個表中不能有兩個字段默認值是當前時間,不然就會出錯
MySQL中存在float,double等非標準數據類型,
也有decimal這種標準數據類型。
其區別在於,float,double等非標準類型,在DB中保存的是近似值,而Decimal則以字符串的形式保存數值。
再舉例: DECIMAL(5,3)
1.2345 --- 小數點後最多3位,因此保存能夠,自動四捨五入數據截斷。
12.345 --- OK
123.45 --- 由於小數部分未滿3位,要補0.因此保存應該123.450。因此整個位數超出了5,保存不可。
1.2 --- 小數未滿部分補0。按照1.200保存。
float(M,S) M爲全長,S爲小數點後長度 (開頭0不算)。對於不精準的例子,網絡上不少,Copy以下:
mysql> create table t1(c1 float(10,2), c3decimal(10,2));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t1 values(9876543.21, 9876543.12);
Query OK, 1 row affected (0.00 sec)