整數: tinyint、smallint、mediumint、int、bigint
浮點數: float、double、real、decimal
日期和時間: date、time、datetime、timestamp、yearmysql
字符串: char、varchar
文本: tinytext、text、mediumtext、longtextsql
(可用來存儲圖片、音樂等): tinyblob、blob、mediumblob、longblob數據庫
在關於數據庫的第一篇文章中就給你們講了使用Navicat鏈接數據庫的方法,那麼這裏再給你們講解一下使用命令鏈接數據庫的方式。服務器
通常在公司開發中,可能會將數據庫統一搭建在一臺服務器上,全部開發人員共用一個數據庫,而不是在本身的電腦中配置一個數據庫,遠程鏈接命令spa
mysql -h ip地址 -u root -p
create database 數據庫名 charset=utf8;
drop database 數據庫名;
use 數據庫名;
select database();
show databases;
show tables;
create table 表名(列及類型);
列的格式:列的名稱 類型 約束3d
例如:code
create table hero(h_id int auto_increment primary key,h_name varchar(10) not null);
語法:blog
alter table 表名 add(添加)|modify(修改)|drop(刪除) 列名 類型;
添加列:h_skill 爲字符類型圖片
alter table hero add h_skill varchar(10);
修改列:h_skill修改本屬性不能爲空ip
alter table hero modify h_skill varchar(10) not null;
drop table 表名;
desc 表名;
mysql> desc hero; +---------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+----------------+ | h_id | int(11) | NO | PRI | NULL | auto_increment | | h_name | varchar(10) | NO | | NULL | | | h_skill | varchar(10) | NO | | NULL | | +---------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
六、更改表名稱
rename table 原表名 to 新表名;
七、查看邊的建立語句
show create table 表名
例如:
mysql> show create table hero; +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | hero | CREATE TABLE `hero` ( `h_id` int(11) NOT NULL AUTO_INCREMENT, `h_name` varchar(10) NOT NULL, `h_skill` varchar(10) NOT NULL, PRIMARY KEY (`h_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
insert into 表名(列1,...) values(值1,...);
例如:
insert into hero(h_id,h_name,h_skill) values(1,'韓信','裂天爆斬');
主鍵列是自動增加,可是在全列插入時須要佔位,一般使用0,插入成功後以實際數據爲準
select * from 表名
例如:
mysql> select * from hero; +------+--------+--------------+ | h_id | h_name | h_skill | +------+--------+--------------+ | 1 | 韓信 | 裂天爆斬 | +------+--------+--------------+ 1 row in set (0.00 sec)
例如:
update hero set h_skill='真裂天爆斬' where h_id=1;
mysql> select * from hero; +------+--------+-----------------+ | h_id | h_name | h_skill | +------+--------+-----------------+ | 1 | 韓信 | 真裂天爆斬 | +------+--------+-----------------+ 1 row in set (0.00 sec)
delete from 表名 where 條件
例如:
mysql> delete from hero where h_id=1; Query OK, 1 row affected (0.01 sec) mysql> select * from hero; Empty set (0.00 sec)
本質就是修改操做update ,並無刪除,只有用isdelete去和其餘沒有刪除的數據區別,因此叫作邏輯刪除,方便回覆誤刪數據
alter table hero add isdelete bit default 0; 在須要作邏輯刪除的時候寫上 update hero set isdelete=1 where h_id=5;