資料庫表操作命令
① sql怎麼刪除一個表中的所有數據
刪除表數據有兩種方法:delete和truncate。具體語句如下:
一、RUNCATE TABLE name :
刪除表中的所有行,而不記錄單個行刪除操作。在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:DELETE FROM table_name。
(1)資料庫表操作命令擴展閱讀:
truncate和delete的共同點及區別:
1、 truncate和 delete只刪除數據不刪除表的結構(定義) 。
2、delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger,執行的時候將被觸發。
truncate是ddl, 操作立即生效,原數據不放到rollback segment中,不能回滾. 操作不觸發trigger。
3、delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動 。truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate會將高水線復位(回到最開始)。
4、速度,一般來說: truncate >delete 。
② 資料庫的命令都有哪些
1、顯示當前存在的資料庫 mysql> show databases;
2、選擇資料庫 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分號結束。),顯示當前選擇的資料庫 mysql> select database();
3、顯示當前資料庫中存在的表 mysql> SHOW TABLES;
4、顯示表(db)的內容 mysql>select * from db;
5、命令的取消 當命令輸入錯誤而又無法改變(多行語句情形)時,只要在分號出現前就可以用 c來取消該條命令 mysql> select -> user() -> c
6、創建一個資料庫abccs mysql> CREATE DATABASE abccs;
7、選擇你所創建的資料庫 mysql> USE abccs Database changed;
8、創建一個資料庫表 首先看現在你的資料庫中存在什麼表: mysql> SHOW TABLES; Empty set (0.00 sec) 說明剛才建立的資料庫中還沒有資料庫表。下面來創建一個資料庫表mytable: 我們要建立一個你公司員工的生日表,表的內容包含員工姓名、性別、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));
9、顯示表的結構: mysql> DESCRIBE mytable;
10、 往表中加入記錄 我們先用SELECT命令來查看錶中的數據: mysql> select * from mytable; Empty set (0.00 sec) 這說明剛才創建的表還沒有記錄。 加入一條新記錄: mysql> insert into mytable values ('abccs','f','1977-07-07','china');
11、用文本方式將數據裝入一個資料庫表 如果一條一條地輸入,很麻煩。我們可以用文本文件的方式將所有記錄加入你的資料庫表中。 創建一個文本文件「mysql.txt」,每行包含一個記錄,用定位符(tab)把值分開,並且以在 CREATE TABLE語句中列出的列次序給出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令將文本文件「mytable.txt」裝載到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 再使用如下命令看看是否已將數據輸入到資料庫表中: mysql> select * from mytable;
12、從資料庫表中檢索信息 select語句格式一般為: SELECT 檢索關鍵詞 FROM 被檢索的表 WHERE 檢索條件
13、查詢所有數據: mysql> select * from mytable;
14、修正錯誤記錄: 假如tom的出生日期有錯誤,應該是1973-09-02,則可以用update語句來修正: mysql> update mytable set birth = "1973-09-02" where name = "tom";
15、 選擇特定列 假如你想查看錶中的所有人的姓名,則可以這樣操作: mysql> SELECT name FROM mytable; 如果想列出姓名和性別兩列,則可以用逗號將關鍵詞name和birth分開: myaql> select name,birth from mytable;
16、對行進行排序 我們可以對表中的記錄按生日大小進行排序: mysql> SELECT name, birth FROM mytable ORDER BY birth; 我們可以用DESC來進行逆序排序: mysql> SELECT name, birth FROM mytable ORDER BY birth DESC;
17、 行計數 資料庫經常要統計一些數據,如表中員工的數目,我們就要用到行計數函數COUNT()。 COUNT()函數用於對非NULL結果的記錄進行計數: mysql> SELECT COUNT(*) FROM mytable; 員工中男女數量: mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
18、多表查詢 現在我們有了兩個表: mytable 和 title。利用這兩個表我們可以進行組合查詢: 例如我們要查詢作者abccs的姓名、性別、文章: mysql> SELECT name,sex,title FROM mytable,title WHERE name=writer AND name='abccs'; 用於查詢文章a2的作者、出生地和出生日期: mysql> select title,writer,birthaddr,birth from mytable,title -> where mytable.name=title.writer and title='a2';
19、增加一列: 如在前面例子中的mytable表中增加一列表示是否單身single: mysql> alter table mytable add column single char(1);
20、修改記錄 將abccs的single記錄修改為「y」: mysql> update mytable set single='y' where name='abccs';
21、增加記錄 前面已經講過如何增加一條記錄,為便於查看,重復與此: mysql> insert into mytable values ('abc','f','1966-08-17','china','n');
22、刪除記錄 用如下命令刪除表中的一條記錄: mysql> delete from mytable where name='abc'; DELETE從表中刪除滿足由where給出的條件的一條記錄。
23、刪除表: mysql> drop table ****(表1的名字),***表2的名字; 可以刪除一個或多個表,小心使用。
24、資料庫的刪除: mysql> drop database
③ mysql刪除表的命令
mysql刪除表的命令如下:
在mysql中,可以利用「DORPTABLE」語句來刪除數據表,通用語法格式「DROPTABLEtable_name;」;其中,「table_name」表示要被刪除的數據表的名稱,可以指定多個數據表名稱,只要相互之間用逗號隔開即可。
MySQL中刪除數據表是非常容易操作態和的,但是你在進行刪除表操作時要非常小心,因為執行刪除命令後所有數據都會洞慶消失。
執行結果可以看到,test_db資料庫的數據表列表中已經不存在名稱為tb_emp2的表帆顫盯,刪除操作成功。
④ 資料庫增刪改查的基本命令
以下是總結的mysql的常用語句,歡迎指正和補充~
一、創建庫,刪除庫,使用庫
1.創建資料庫:create database 庫名;
2.刪除資料庫:drop database 庫名;
3.使用資料庫:use 庫名;
二、創建數據表
1.創建表語句:create table 表名(欄位名1 欄位類型 欄位約束,欄位2 欄位類型 欄位約束...);
2.創建與現有表一樣欄位的新表:create table 表名 like 已有表名;
3.將查詢結果創建新表:create table 表名 select * from 現有表 where...(查詢語句);
三、查看錶結構,查看建表語句,刪除表
1.查看錶結構:desc 表名;
2.查看建表語句:show create table 表名;
3.刪除表:drop table 表名;
四、修改表結構
1.對數據表重命名:alter table 表名 rename 新表名;
2.增加欄位:alter table 表名 add 欄位名 欄位類型 欄位約束; (PS:可用first/after函數調整欄位位置)
3.刪除欄位:alter table 表名 drop 欄位名;
4.修改欄位類型及約束:alter table 表名 modify 欄位名 新類型 新約束;(PS:如不加新約束,會將建表時的約束清空,主鍵、外鍵、唯一約束除外)
5.修改欄位名稱:alter table 表名 change 欄位名 新欄位名 新欄位類型 新約束條件;
6.修改資料庫引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB對經常修改表數據友好,MyISAM對經常查詢表友好)
7.增加主鍵:alter table 表名 add primary key(欄位名);
8.刪除主鍵:alter table 表名 drop primary key;
9.增加外鍵:alter table 表名 add constraint 外鍵名 foreign kek(欄位名) references 主表(主鍵);
10.刪除外鍵:alter table 表名 drop foreign key 外鍵名;
11.刪除唯一約束:alter table 表名 drop index 欄位名;
12.設置自動增長的初始位置:alter table 表名 auto_increment=n;
五、向表中插入數據
1.向表指定欄位插入多條數據:insert into 表名(欄位1,欄位2...) values(數據1,數據2...),(數據1,數據2...),(數據1,數據2...),(數據1,數據2...);
2.將查詢結果插入表:insert into 表名 select 欄位名 from 表名(查詢語句);
3.載入外部數據到表:Load data local infile 『數據路徑』Into table 表名 Fields terminated by 『分隔符』Ignored 1 lines;
六、更新表數據、刪除表數據
1.更改滿足條件的欄位數據:update 表名 set 欄位計算1,欄位計算2... where 條件;
2.刪除滿足條件的數據:delele from 表名 where 條件;
3.刪除所有數據:方式一:delete from 表名; 方式二:truncate table 表名; 方式一會逐條進行刪除,速度較慢,方式二直接刪除,速度快;另外對自增欄位,方式一不能重置自增欄位的初始位置,方式二可以重置自增欄位的其實位置;