創(chuàng)建表create
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校驗規(guī)則 engine 存儲引擎;
說明:
field 表示列名
datatype 表示列的類型
character set 字符集,如果沒有指定字符集,則以所在數(shù)據(jù)庫的字符集為準
collate 校驗規(guī)則,如果沒有指定校驗規(guī)則,則以所在數(shù)據(jù)庫的校驗規(guī)則為準
現(xiàn)在創(chuàng)建一張表user1:
mysql> create table if not exists user1(
-> id int,
-> name varchar(20) comment '用戶名',
-> password char(32) comment '用戶的密碼',
-> birthday date comment '用戶的生日'
-> )character set utf8 collate utf8_general_ci engine MyIsam;
Query OK, 0 rows affected (0.00 sec)
mysql>
創(chuàng)建表user2:
mysql> create table if not exists user2(
-> id int,
-> name varchar(20) comment '用戶名',
-> password char(32) comment '用戶的密碼',
-> birthday date comment '用戶的生日'
-> )charset=utf8 collate=utf8_general_ci engine=InnoDB;
Query OK, 0 rows affected (0.02 sec)
//也可以不指定,直接創(chuàng)建
mysql> create table if not exists user3 (name char(32));
Query OK, 0 rows affected (0.03 sec)
存儲引擎不同,此時我們查看user1和user2:建表的時候出現(xiàn)不同的個數(shù)
不同的存儲引擎對于磁盤文件的個數(shù)要求是不一樣的
查看表desc
查看當前數(shù)據(jù)庫的位置:select database();
查看表的名字show tables;
- desc查看表的詳細信息
查看當前表user1里面的詳細信息desc user1:
查看當前表user2里面的詳細信息desc user1:
- 查看創(chuàng)建表時的詳細信息
show create table user1 \G(\G
:格式化顯示,把不需要的符號去掉)
你下達的sql命令在在sql服務(wù)器內(nèi)要對sql做詞法語法分析,轉(zhuǎn)化成標準的寫法。
修改表alter
在項目實際開發(fā)中,經(jīng)常修改某個表的結(jié)構(gòu),比如字段名字,字段大小,字段類型,表的字符集類型,表的存儲引擎等等。我們還有需求,添加字段,刪除字段等等。這時我們就需要修改表。
- 修改表名alter table user-name rename to user-newname;
把表user1改成user:
這個rename to的to是可以省略的
:??
alter table user rename User;
- **修改列名alter table 表名change 老列名 新列名 + 屬性 **
除了列的名稱之外,屬性也得提供
alter table user change name xingming varchar(60) DEFAULT NULL;
- 向表中插入數(shù)據(jù)insert into values
mysql> insert into user values (1,'張三','12345','2010-10-1');
Query OK, 1 row affected (0.00 sec)
mysql> insert into user values (2,'李四','54321','2010-11-1');
Query OK, 1 row affected (0.00 sec)
- 表中添加一個字段
例如在user表的birthday字段后面添加一個image_path字段:
alter table user add image_path varchar(128) comment '這個是用戶的頭像路徑' after birthday;
插入新字段后,對原來表中的數(shù)據(jù)沒有影響
- 修改指定列的屬性
例如表中的某一列長度更改為60
原先的表:
alter table user modify name varchar(60);
修改后的表:
comment直接沒了,把新的屬性全部覆蓋掉老的。
- 刪除列
比如刪除表user中的password列:
alter table user drop password;
注意:刪除字段一定要小心,刪除字段及其對應(yīng)的列數(shù)據(jù)都沒了
刪除表drop
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
舉個例子,刪除表user文章來源:http://www.zghlxwxcb.cn/news/detail-479645.html
drop table user;
文章來源地址http://www.zghlxwxcb.cn/news/detail-479645.html
到了這里,關(guān)于【MySql】表的增刪查改的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!