mysql数据库删除列数据_MySQL数据库-数据表、以及列的增删改查
1、創建一個表
CREATE(創建)
TABLE(表)
ENGINE(引擎)
ENGINE=INNODB(引擎)還有很多類引擎,這里只是簡單的提一下INNODB引擎,INNODB引擎支持事務(回滾),也就是一個事務執行時如果沒有完成數據可以回滾
CHARSET(字符編碼)
CREATE TABLE(創建表)
--創建表說明:--create table 表名(--列名 類型(最大字符數) 是否可以為空,--列名 類型(最大字符數) 是否可以為空-- )ENGINE=InnoDB DEFAULT CHARSET=utf8--參數說明:--列是否可以為空-- not null -不可空-- null -可空--
-- ENGINE=InnoDB -表示引擎使用的InnoDB引擎-- DEFAULT -默認-- CHARSET=utf8 -字符編碼--舉例
CREATE TABLE biao(
id INT(10) NOT NULL,
yh CHAR(20) NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;
列內容默認值
-- DEFAULT(列內容默認值,后面跟的是默認的值,可選),如果設置了內容默認值,當用戶添加數據時沒寫值,將自動寫入默認值
CREATE TABLE biao(
id INT(10) NOT NULL,
yh CHAR(20) NULLDEFAULT '100'
)ENGINE=INNODB DEFAULT CHARSET=utf8;
2、創建表之-列自增以及列主鍵,一般自增和主鍵配合使用設置id
列自增
AUTO_INCREMENT(自增),自增,如果為某列設置自增列,插入數據時無需設置此列,默認將自增(表中只能有一個自增列)
注意:1、對于自增列,必須是索引(含主鍵,主鍵是索引的一種)。
列主鍵
PRIMARY KEY(作為主鍵列的名稱),主鍵,一種特殊的唯一索引,不允許有空值,如果主鍵使用單個列,則它的值必須唯一,如果是多列,則其組合必須唯一。
create table user_info(
id int not null auto_increment primary key,
name char(20),
age int,
gender char(1)
)engine = innodb default charset=utf8;
創建表之-常用數據類型
整數型:TINYINT,SMALLINT,INT,BIGINT
類型
字節
最小值
最大值
(帶符號的/無符號的)
(帶符號的/無符號的)
TINYINT
1
-128
127
0
255
SMALLINT
2
-32768
32767
0
65535
MEDIUMINT
3
-8388608
8388607
0
16777215
INT
4
-2147483648
2147483647
0
4294967295
BIGINT
8
-9223372036854775808
9223372036854775807
0
18446744073709551615
浮點型:FLOAT,DOUBLE,DECIMAL(M,D)
float 浮點型(長度越長越不精準)
double 浮點型(雙精度,精度比float稍高) 范圍比float更大
decimal 精準(內部使用字符串進行存儲的) -> 適合對精度有要求的
類型
字節
最小值
最大值
FLOAT
4
+-1.175494351E-38
+-3.402823466E+38
DOUBLE
8
+-2.2250738585072014E-308
+-1.7976931348623157E+308
DECIMAL
可變
它的取值范圍可變。
字符型:CHAR,VARCHAR
CHAR支持空字符,用于性別、密碼
char數據類型用于表示固定長度的字符串,可以包含最多達255個字符。其中m代表字符串的長度。
PS: 即使數據小于m長度,也會占用m長度,char優點查詢速度快
VARCHAR不支持空字符,空字符會自動被清除,所占字節是字符數加1,用于用戶名、標題
varchars數據類型用于變長的字符串,可以包含最多達255個字符。其中m代表該數據類型所允許保存的字符串的最大長度,只要長度小于該最大值的字符串都可以被保存在該數據類型中。
注:雖然varchar使用起來較為靈活,但是從整個系統的性能角度來說,char數據類型的處理速度更快,有時甚至可以超出varchar處理速度的50%。因此,用戶在設計數據庫時應當綜合考慮各方面的因素,以求達到最佳的平衡,varchars優點儲存占用空間小
ps:
text() 65535個字符
TEXT常用,用于大文章、帖子、新聞內容
mediumtext() 16777215個字符
longtext() 4294967254個字符
日期型:DATETIME,DATE,TIMESTAMP
日期型常用的是DATETIME可表示年月日時分秒
列類型
“零”值
DATETIME
'0000-00-00 00:00:00' ?? 年月日時分秒
DATE
'0000-00-00' 年月日
TIMESTAMP
00000000000000 年月日時分秒,無分隔符
TIME
'00:00:00' ?? ?時分秒
YEAR
0000 時分秒無分隔符
刪除表DROP TABLE 表名,刪除一個指定的表
-- drop table 表名,刪除一個指定的表
DROP TABLE fgh
清空表
DELETE ?FROM?表名,清空表不清除自增的序號
-- delete from 表名,清空表不清除自增的序號
DELETE FROM xue_yuan
TRUNCATE TABLE?表名,清空表并且清空自增序號
-- TRUNCATE TABLE 表名,清空表并且清空自增序號
TRUNCATE TABLE xue_yuan;
修改表
alter table 表名 add 列名 類型:添加列
-- alter table 表名 add 列名 類型:添加列
ALTER TABLE xue_yuan ADD gz INT(20);
alter table 表名 drop column 列名:刪除列
-- alter table 表名 drop column 列名:刪除列
ALTER TABLE xue_yuan DROP COLUMN gz;
修改列:
alter table 表名 modify column 列名 類型; -- 修改列類型
alter table 表名 change 原列名 新列名 類型; -- 修改列列名,類型
-- 修改列:
-- alter table 表名 modify column 列名 類型; -- 修改列類型
-- alter table 表名 change 原列名 新列名 類型; -- 修改列列名,類型
-- 修改列類型
-- ALTER TABLE xue_yuan MODIFY COLUMN you_jian INT;
-- 修改列列名,類型
ALTER TABLE xue_yuan CHANGE you_jian yj INT;
添加主鍵:
alter table 表名 add primary key(列名);
-- 添加主鍵:
-- alter table 表名 add primary key(列名);
ALTER TABLE xue_yuan ADD PRIMARY KEY(yj);
刪除主鍵:
alter table 表名 drop primary key;
alter table 表名 modify 列名 int, drop primary key;
-- 刪除主鍵:
-- alter table 表名 drop primary key;
-- alter table 表名 modify 列名 int, drop primary key;
-- ALTER TABLE xue_yuan DROP PRIMARY KEY;
ALTER TABLE xue_yuan MODIFY yj INT,DROP PRIMARY KEY;
修改默認值:
ALTER TABLE ?表名稱 ?ALTER ?列名稱 ?SET DEFAULT 1000;
-- 修改默認值:
-- ALTER TABLE 表名稱 ALTER 列名稱 SET DEFAULT 1000;
ALTER TABLE xue_yuan ALTER xing_ming SET DEFAULT 1000;
刪除默認值:
ALTER TABLE ?表名稱 ?ALTER ?列名稱 ?DROP DEFAULT;
-- 刪除默認值:
-- ALTER TABLE 表名稱 ALTER 列名稱 DROP DEFAULT;
ALTER TABLE xue_yuan ALTER xing_ming DROP DEFAULT;
總結
以上是生活随笔為你收集整理的mysql数据库删除列数据_MySQL数据库-数据表、以及列的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php信息采集开发,程序php信息采集程
- 下一篇: lavarel php区别,larave