簡介
MySQL是一種關系資料庫管理系統,現在一般中小型網站的開發都選擇MySQL作為網站資料庫。
操作
1、啟動MySQL服務
net start mysql
2、連接配接MySQL
mysql -h127.0.0.1 -uroot -p
3、退出MySQL
exit
Quit
4、關閉MySQL服務
net stop mysql
MySQL列類型
1、數值類型
SMALLINT: 2個位元組
INT: 4個位元組 // age int(10)
NTEGER:INT的同義詞
BIGINT : 8個位元組
FLOAT : 4個位元組
DOUBLE : 8個位元組 //score float(10,2)
2、字元串(字元)類型
CHAR:固定長度字元串 sex char(2)
VARCHAR:可變長度字元串 name varchar(20) 備注:VARCHAR使用起來較為靈活,CHAR處理速度更快
TEXT:非二進制大對象(字元)
BLOB:二進制大對象(非字元)
3、日期/時間類型
DATE: YYYY-MM-DD
DATETIME: YYYY-MM-DD HH:MM:SS
TIMESTAMP: YYYY-MM-DD HH:MM:SS
TIME:HH:MM:SS
YEAR:YYYY
SQL語句文法
SQL語言包含4個部分:
資料定義語言(如create,drop,alter等語句)
資料查詢語言(select語句)
資料操縱語言(insert,delete,update語句)
資料控制語言(如grant,revoke,commit,rollback等語句)
資料操縱語言針對表中的資料,而資料定義語言針對資料庫或表
1、資料定義語言
create database school; /*建立資料庫*/
show databases; /*顯示所有資料庫select database()*/
use school; /*指定預設資料庫*/
create table student( /*建立表*/
id int(10) primary key auto_increment, /*主鍵,自增*/
name varchar(8),
sex char(1),
score float(6,2)
);
show tables; /*顯示目前庫中表清單*/
/* 顯示指定表結構show columns from student;*/
describe student;
show create table student; /*顯示建表sql語句*/
drop table student; /*删除表*/
drop database school; /*删除資料庫*/
2、資料操縱語言
insert into student values("張三", "t",87.5);
insert into student values(null,"張三","t",87.5);
//insert into student (name,sex,score) values("張三","t",87.5);
select * from student;
insert into student values(null,"李四","男",89);
alter table student modify sex char(2);
insert into student values(null,"李四","男",89);
select * from student;
update student set sex ="女";
select * from student;
update student set sex="男" where id=1;
select * from student;
update student set name="王五" ,score=100 where id=2;
select * from student;
delete from student where name="王五";
select * from student;
delete from student;
select * from student;
3、資料查詢語言(select語句)
select * from student;
select id,name,score from student;
select * from student where id<5 and sex=“男”;
select count(*) from student ;
select max(score) from student;
select id ,name,score from student order by score desc;
select * from stu where name like "張%";
4、更改表結構語句
alter table student add birth date;
insert into student values(null,"趙六","男",100, now() );
insert into student values(null,"趙六","男",100, "1980-12-23");
alter table student change birth birthday date ;
alter table student modify sex char(4) not null ;
alter table student modify sex char(2) after birthday;
alter table student rename as stu;
alter table stu drop birthday;
5、多表查詢和外鍵關聯
create table person( id int primary key, name varchar(6), sex char(2), age int(10) );
insert into person values(1,"張三","男",45);
insert into person values(2,"李四","男",32);
insert into person values(3,"王五","女",32);
create table pet(
id int auto_increment ,
name varchar(6),
masterid int,
primary key(id),
constraint fk foreign key (masterid) references person(id)
);
insert into pet (name,masterid) values("happy",1);
insert into pet (name,masterid) values("lucky",1);
…………
select * from person p1,pet p2 where p1.id=p2.masterid;
select * from person p1,pet p2 where p1.id=p2.masterid and p1.id=1;
alter table pet drop foreign key fk;
alter table pet add constraint fk foreign key (masterid) references person(id) on delete cascade on update cascade;
update person set id=6 where id=2;
delete from person where id=6;
6、分頁語句
select * from table limit (start-1)*limit,limit;
其中start是頁碼
limit是每頁顯示的條數。
導入導出
1、指令行操作
導入
方法1:mysql>source d:\dbname.sql
方法2:mysql -u root -p 資料庫名 < dbname.sql
導出
導出整個資料庫
mysqldump -u root -p 資料庫名 > dbname.sql
隻導出一個表
mysqldump -u root -p 資料庫名 表名> dbname.sql
2、圖形界面操作
Navicat
導入:運作SQL檔案
導出:轉儲SQL檔案