天天看點

【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:

一、MySQL的基本使用:

1、登入:

mysql -u root -p[password]

2、顯示所有資料庫:

show databases;

3、進入資料庫:

use db_name;

4、顯示所有的資料表:

show tables;

5、顯示表結構:

desc tb_name;

6、顯示所有的表資料:

select *from tb_name;

7、顯示所有的表資料:

select 字段名1,字段名2,… 字段名n from tb_name;

8、顯示部分的表資料:

select 字段名1,字段名2, … 字段名k from tb_name;

9、導出.sql腳本語句:

mysqldump -uroot -p[password] –databases db_name >d:/a/dd.sql

10、導入.sql腳本語句:

source d:/a/dd.sql

二、MySQL的資料庫定義語言(DDL):

1、建立資料庫:

create database [if not exists] db_name [character set charset_name];

2、建立資料表:

create table [if not exists] tb_name(

字段名1    字段類型    限制,

字段名2    字段類型    限制,

….

字段名n    字段類型    限制

);

3、更改原有表的結構:

alter table tb_name add column 字段名 字段類型;

alter table tb_name drop column 字段名;

4、更改資料庫的全局特性:

alter database db_name [character set charset_name];

alter database db_name [collate collation_name];

5、删除整個表:

drop table [if exists] tb_name [,tb2_name] ;

6、删除整個資料庫:

drop database [if exists] db_name;

7、修改表名:

rename table tb_name to new_tb_name;

8、修改列名:

alter table tb_name change column oldName newName 資料類型;

8、修改列的資料類型:

ALTER TABLE tb_name MODIFY COLUMN col_name 新資料類型;

9、定義id為自動增長列:id int auto_increment

id int auto_increment primary key;

10、外鍵限制:

[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)

REFERENCES tbl_name (index_col_name, …)

[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

例如:constraint husband_key foreign key(wid) references wife(id)

11、主鍵限制:

id int primary key;

三、MySQL的資料庫操縱語言(DML):

1、插入一行資料:

insert into tb_name [(col_name,…)] values(value1,value2,…);

2、删除表中一行資料:

delete from tb_name where where_definition;

3、删除所有表資料:

delete from tb_name;

4、修改某一行資料:

update tb_name SET col_name1=expr1 [, col_name2=expr2 …] [where where_definition];

四、MySQL的select查詢:

1、and子句:

select *from tb_name where express1 and express2;

2、or子句:

select *from tb_name where express1 or express2;

3、not子句:

select *from tb_name where 字段名 not in(字段值1,字段值2….);

4、in子句:

字段值在離散字段值系列中:

select *from tb_name where 字段名 in(字段值1,字段值2….);

5、between子句:

在[a,b]區間之中的所有:

select *from tb_name where 字段名 between(值1,值2);

6、like子句(‘%’通配所有字元;‘_’通配單字元):

模糊查詢:

(1) 查找所有姓‘張’的人:

select *from tb_name where sname like ‘張%’;

(2)查找姓‘張’名字隻有一個字的人:

select *from tb_name where sname like ‘張_’;

(3)查找名字中含有‘張’字的人:

select *from tb_name where sname like ‘%張%’;

7、空字元串‘’和空NULL:

(1)判斷是否為空字元用等于号‘=’判斷 :

select *from tb_name where sname=”;

(2)判斷是否為NULL用 ‘is null’判斷:

select *from tb_name where sname is null;

8、‘+’字元代表算術運算加,而非字元串連接配接符:

9、as子句:

給字段取别名:

select name as 姓名 from tb_name;

10、distinct子句:

輸出範圍段:

select distinct age from tb_name;

五、MySQL中的聚合函數:

1、count(*)

(1)統計行數,*可以用其他字段代替,還可以用count(1):

select coutnt(*) from tb_name;

(2)用字段 指定的某些行 :

select count(sname) from tb_name;

2、avg()

求平均值:

select avg(age) from tb_name;

3、sum()

求總和:

select sum(sno) from tb_name;

4、max()

求最大值:

select max(age) from tb_name;

5、min()

求最小值:

select min(age) from tb_name;

6、group by

分組:

顯示tb_name表中有哪些位址:

select address from tb_name group by address;

select … from … group by … having ….

7、having

具有一些特性:

顯示平均年齡大于22的地區及其平均年齡:

select address ,avg(age) from tb_name group by address having age>22;

select … from … group by … having ….

8、order by

排序:

order by;預設排序為升序

order by 字段名 asc 升序;

order by 字段名 desc 降序;

select [distinct] … from … where … order by ..

六、MySQL中的View視圖:

1、建立view視圖:

create view view_name as select 子句;

視圖的操作和表的操作是相同的

2、查詢view視圖:

select *from view_name ;

3、通過視圖可以修改實體表中的資料的:

例如:

(1)建一個學生表stud,含有學号、姓名、年齡、位址字段:

【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(2)向stud中插入資料:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(3)顯示stud:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(4)建立視圖studView:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(5)顯示studView:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(6)修改視圖中的資料:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(7)顯示修改後的視圖資料:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
(8)顯示stud表資料:
【MySQL】(2)MySQL基礎文法一、MySQL的基本使用:二、MySQL的資料庫定義語言(DDL):三、MySQL的資料庫操縱語言(DML):四、MySQL的select查詢:五、MySQL中的聚合函數:六、MySQL中的View視圖:
此時,stud表中的Tom的sage由12變為了19,是以視圖可以修改實體表資料。