開啟 停止SQL
啟動(dòng):net start mysql
停止:net stop mysql
登錄SQL
mysql -hlocalhost -uroot -p
mysql -h服務(wù)器地址 -u登錄名 【-P端口號(hào)】 -p
創(chuàng)建數(shù)據(jù)庫
create database db1 charset utf8;
create database [數(shù)據(jù)庫名字] charset utf8[編碼];
刪除數(shù)據(jù)庫
drop database if exists db;
drop database 【if exists 】 數(shù)據(jù)庫名哨鸭;
#顯示一個(gè)數(shù)據(jù)庫的創(chuàng)建語句
>```
show create database db
數(shù)據(jù)庫備份與恢復(fù)
mysqldump -hlocalhost -uroot -p db>c:/db.sql;
mysqldump -h服務(wù)器地址 -u登錄名 -p 數(shù)據(jù)庫名 > 文件名
恢復(fù)語法
mysql -h服務(wù)器地址 -u登錄名 -p 數(shù)據(jù)庫名 < 文件名
- 這兩個(gè)命令煮纵,都是在“沒有登錄mysql”的時(shí)候使用
- 這兩個(gè)命令乡括,都是在“沒有登錄mysql”的時(shí)候使用
- 通常频蛔,恢復(fù),就是指恢復(fù)原來數(shù)據(jù)庫中的所有表數(shù)據(jù)信息及其他信息,而數(shù)據(jù)庫名可以是原來的名字或新的名字。
查看所有數(shù)據(jù)庫
show databases; // 查看所有數(shù)據(jù)庫
# 進(jìn)入某一個(gè)數(shù)據(jù)庫
> ```
use db; // 進(jìn)入指定數(shù)據(jù)庫
查看數(shù)據(jù)庫中所有表
show tables;
# 字段類型
> mysql中,數(shù)據(jù)類型主要分3大類:數(shù)字型蚯根,字符型,時(shí)間型胀糜;
- 數(shù)字型
- 整數(shù)
- #int
- #tinyint
- smallint
- mediumint
- bigint
- 小數(shù)
- #float // 浮點(diǎn)
- Double // 浮點(diǎn)
- #decimal //定點(diǎn)
- 字符串
- #set
- #enum
- blob
- #text
- #varchar
- #char
- 時(shí)間型
- year
- #timestamp
- time
- #date
- #datatime
# 整數(shù)類型
> - 主要有
- int颅拦, tinyint, smallint僚纷, mediumint矩距,bigint
- 整數(shù)類型所占空間(字節(jié)):
- int:占4個(gè)字節(jié),即32位怖竭;
- tinyint:占1個(gè)字節(jié)锥债,即8位; 最多能存儲(chǔ)256個(gè)數(shù)字痊臭,默認(rèn)范圍是-128~127
- bigint:占8個(gè)字節(jié)哮肚,即64位;
- 整數(shù)類型字段的設(shè)定形式
類型名【(M)】【unsigned】 【zerofill】
- 1广匙, M表示設(shè)定該整數(shù)的“顯示長度” 即select輸出的時(shí)候允趟,123可能顯示為000123(假設(shè)M為6)
- unsigned用于設(shè)定該整數(shù)為“無符號(hào)數(shù)”,其實(shí)就是沒有負(fù)數(shù)鸦致。
- zerofill用于設(shè)定是否填充“0”到一個(gè)數(shù)字的左邊潮剪,此時(shí),需與設(shè)定的長度M配合使用分唾。
- 如果設(shè)置了zerofill抗碰,則自動(dòng)也就表示同時(shí)具備了unsigned修飾
create table tab_int(
f1 int unsigned,
f2 tinyint zerofill,
f3 bigint(10) zerofill
);
insert into tab_int ( f1,f2,f3)
values (12,12,12);
select * from tab_int;
#小數(shù)類型
>有3中:float, double绽乔,decimal
- float:單精度浮點(diǎn)型弧蝇,使用4個(gè)字節(jié)存儲(chǔ)數(shù)據(jù),其精度大約只有6-7個(gè)有效數(shù)字?jǐn)?shù)位折砸;
-double:雙精度浮點(diǎn)型看疗,使用8個(gè)字節(jié)存儲(chǔ)數(shù)據(jù),其精度大約只有15個(gè)有效數(shù)字?jǐn)?shù)位睦授;
- decimal:定點(diǎn)小數(shù)類型两芳,整數(shù)部分最長可以有65位,小數(shù)部分最長可以有30位去枷。一般設(shè)置格式為:decimal(總位數(shù)盗扇,小數(shù)部分位數(shù))
create table tab_xiaoshu(
f1 float,
f2 double,
f3 decimal(10,3) //表示總是位10位祷肯,小數(shù)位數(shù)為3位
);
insert into tab_xiaoshu ( f1,f2, f3)
values (123.456789,123.456789,123.456789)
// 字符類型
insert into tab_char_varchar( postcode,name)
values ('123456123456','abc')
select * from tab_char_varchar;
//enum set類型
create table tab_enum_set(
id int auto_increment primary key,
sex enum('男','女'),
fav set('籃球','排球',,'足球','中國足球')
);
insert into tab_enum_set( id,sex,fav)
values (null,'男'沉填,'籃球')疗隶;
insert into tab_enum_set( id,sex,fav)
values (null,1,1)翼闹;
//date 時(shí)間類型
create table tab_time(
dt datetime,
d2 date,
t2 time,
y year,
ts timestamp/* 這個(gè)字段通常不用插入數(shù)據(jù)庫*/
);
insert into tab_enum_set( dt ,d2,t2,y )
values (
'2015-7-8 10:9:10',
'2015-7-8',
'10:9:10',
'2015')斑鼻;
insert into tab_enum_set( dt ,d2,t2,y )
values (
now(),
now(),
now(),
'2015');
//字段設(shè)定形式
create table tab_shuxing(
id int aotu_increment primary key,
user_name varchar(20) not null unique key,
password varchar(48) not null,
age tinyint default 18,
email varchar(50) comment '電子郵箱'
);
insert into tab_shuxing(
id,
user_name,
password,
age,
email )
values (
1,
'aaaa',
'123',
18,
'abc@qq.com')猎荠;
insert into tab_shuxing(
user_name,
password,
email )
values (
'aaaa',
'123',
'abc@qq.com')坚弱;
// 索引創(chuàng)建
create table tab_suoyin(
id int aotu_increment ,
user_name varchar(20) ,
age int, /沒有索引/
email varchar(50) comment '電子郵箱',
key(email), /普通索引/
primary key(id),/主鍵索引/
unique key(user_name),/唯一索引/
);
// 外鍵索引
外鍵表
create table tab_banji(
id int aotu_increment primary key ,
banjihao varchar(20) unique key comment '班級(jí)號(hào)',
banzhuren varchar(20) comment '班主任', /沒有索引/
open_data data comment '開學(xué)日期',
);
主鍵表
create table tab_xuesheng(
stu_id int aotu_increment primary key ,
name varchar(20) comment '學(xué)生姓名',
age tinyint comment '年齡',
banji_id int comment '班級(jí)ID',
foreign key (banji_id) references tab_banji(id), /* 主鍵關(guān)聯(lián)外鍵 foreign key [主鍵ID] references[外鍵表名][外鍵關(guān)聯(lián)ID] */
open_data data comment '開學(xué)日期',
);