MySQL ----數據庫操作
SQL語法組成
? DML( Data Manipulation Language數據操作語言
查詢、插入、刪除和修改數據庫中的數據; SELECT、INSERT、 UPDATE 、DELETE等;
? DCL( Data Control Language數據控制語言) ——用來控制存取許可、存取權限等;
——GRANT、REVOKE 等;
? DDL( Data Definition Language數據定義語言)
——用來建立數據庫、數據庫對象和定義其列 ——CREATE TABLE 、DROP TABLE、ALTER TABLE 等
? 功能函數 ——日期函數、數學函數、字符函數、系統函數等
可以添加BINARY關鍵字讓 MySQL執行區分大小寫的比較。 |
|
mysql |
|
連接數據庫 |
mysql -h host_name -u user_name –ppassword |
導入數據庫 |
mysql –u root –p --default-characterset=latin1 dbname < backup.sql |
導出數據庫 |
mysqldump –u root –p tmpdb > backuptmp.sql |
創建數據庫 |
mysqladmin –u root –p create newdb |
刪除數據庫 |
mysqladmin –u root –p drop newdb |
更改密碼 |
mysqladmin –u root –p password “newpasswd” |
|
|
數據庫操作 |
|
創建數據庫 |
create database 數據庫名 |
刪除數據庫 |
drop database 數據庫名 |
切換數據庫 |
use 數據庫名 |
查看當前操作數據庫 |
select database() |
查看所有的數據庫 |
show database |
臨時更改字符集 |
set names 字符集 註:utf-8在數據庫裏是utf8 |
數據表的操作 |
|
創建表 |
create table 表名(字段名 數據類型(長度) [約束],……) |
在創建表的時候添加外鍵foreign key(sid) references student(sid) |
|
刪除表 |
drop table 表名 |
查看所有表 |
show tables |
查看表結構 |
desc table 表名 |
修改表的名稱 |
rename table 表名 to 新表名 |
修改表的字符集 |
alter table 表名 character set 字符集 |
重建表 |
truncate 表名 |
對表內列修改的操作 |
|
添加列 |
alter table 表名 add 新字段名 類型(長度) [約束] |
修改類型和約束 |
alter table 表名 modify 字段名 類型(長度)[約束] |
修改表的列名 |
alter table 表名 change新字段名 類型(長度) [約束] |
刪除列 |
alter table 表名 drop 字段名 |
對表的記錄操作 |
|
添加記錄 |
insert into 表 (列名1,列名2,……)values(值1,值2) |
更新記錄 |
update 表名 set 字段值1=值,字段值2=值….where 條件 |
刪除記錄 |
delete from 表名 while 條件 |
對表類的數據查詢 |
|
完整查詢語句 |
|
select 字段 from 數據庫while 條件group by分組字段having條件 order by asc|desc |
|
多表的關系 |
|
添加外鍵 |
alter table 從表 add [constraint] [外鍵名稱] foreign key [從表外鍵字段名] references 主表[主表中的主鍵] --外鍵名稱主要用於差錯和方便外鍵的刪除 |
刪除外鍵 |
alter table 表名 drop constraint 外鍵名 |
多表查詢 |
|
交叉連接查詢 |
select * from A,B |
內連接查詢(隱式) |
select * from A,B while 條件 |
內連接查詢(顯式) |
select * from A inner join B on 條件 |
外連接查詢(左) |
select * from A left outer join B on 條件 |
外連接查詢(右) |
select * from A right outer join B on 條件 |
MySQL ----數據庫操作