第一招、mysql服務的啟動和停止
目前創新互聯公司已為1000多家的企業提供了網站建設、域名、網頁空間、綿陽服務器托管、企業網站設計、嘉定網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
net stop mysql
net start mysql
第二招、登陸mysql
語法如下: mysql -u用戶名 -p用戶密碼
鍵入命令mysql -uroot -p, 回車后提示你輸入密碼,輸入12345,然后回車即可進入到mysql中了,mysql的提示符是:
mysql
注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP
第三招、增加新用戶
格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
如,增加一個用戶user1密碼為password1,讓其可以在本機上登錄, 并對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入mysql,然后鍵入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為"%"。
如果你不想user1有密碼,可以再打一個命令將密碼去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操作數據庫
登錄到mysql中,然后在mysql的提示符下運行下列命令,每個命令以分號結束。
1、 顯示數據庫列表。
show databases;
缺省有兩個數據庫:mysql和test。 mysql庫存放著mysql的系統和用戶權限信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。
2、 顯示庫中的數據表:
use mysql;
show tables;
3、 顯示數據表的結構:
describe 表名;
4、 建庫與刪庫:
create database 庫名;
drop database 庫名;
5、 建表:
use 庫名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中記錄:
delete from 表名;
7、 顯示表中的記錄:
select * from 表名;
建立外鍵需要注意幾點:
1,必須使用innodb表引擎
2,兩個表的字符編碼必須一致
3,被引用的typeid,即父表中的typeid必須是主鍵或者唯一建
滿足以上幾點,sql如下:
--------------------------------
create table father (typeid int primary key,name varchar(10)) engine=innodb;
create table son (id int,typeid int ,foreign key (typeid) references father(typeid)) engine=innodb;
如果你的意思只是說兩個表做關聯,你的sql可以這么寫
select * from father ,son where son.typeid=father.typeid
詳細說明可以百度搜我的博客: mysql foreign外鍵詳細使用方法和使用事項_2018_lcf
---------下面是使用方法
使用外鍵的前提:
1. 表儲存引擎必須是innodb,否則創建的外鍵無約束效果。
2. 外鍵的列類型必須與父表的主鍵類型完全一致。
3. 外鍵的名字不能重復(一般使用。
建外鍵表兩種方式(創建表時關聯/添加外鍵)
1) 第一種方式創建表時加外鍵使用實例:
mysql create table A( name char(12), id int(8) ,index(id))engine=innodb; //先建立A表,
mysql create table B( //建立B表,同時做外鍵
- id int(9),
- money int(9),
- index(id),
- foreign key(id) references A (id) //這個是必加項,foreign key(B表要關聯的字段),references A表名 (對應字段)
- on delete cascade on update cascade //這里是可選項的,只加一項或都不加都可以的,看需求.
- )engine=innodb; //這個必須是innodb類型,并且和A表的一致
第二方式在已有的表上做和A表關聯的外鍵(最好是新建好沒有記錄的,不然會因為記錄對不上而創建不成功)
mysql create table C( //這里先創建一個空表C
- id int(7),
- money int(5),
- index(id)
- )engine=innodb;
mysql alter table Cadd constraint abc //在C表上添加和表A關聯的外鍵,constraint 外鍵名(自己任意取)
- foreign key(id) references A(id) //和創建時一樣的輸入
- on delete cascade on update cascade; //一樣是可選項,這行不寫也可以通過.
注: @以上的cascade是上面介強的四種模式之一,是可以替換成其它模式的,如寫成on update set null
@還可以同時做兩個外鍵,如寫成foreign key(id,money) references A(id,money) 即可
@兩張表關聯字段名可以取不一樣名字,但類型必須一致
1、 mysql安裝好后,在mysql的安裝目錄中有個bin目錄,里面有很多客戶端軟件,如果是mysql的客戶端,找到mysql.exe,這個是用于操作數據庫的系統客戶端軟件。
2、 客戶端選擇:一般情況下,我們在學習的時候會通過使用Windows下的控制臺進行訪問,即win + R 同時按住打開運行,輸入cmd命令進入控制臺,然后進入到mysql的bin目錄(具體可以看一下Windows下控制器切換路徑(百度經驗));或者在開發的時候通常會使用一些集成工具,如Navicat之類。
3、 數據庫操作步驟:學習的時候客戶端和服務端是同時安裝的,都在一臺電腦上,但是要理解,mysql的客戶端和服務端通常不會在一臺機器上的(服務器在機房,客戶端就在個人電腦上),因此是需要進行一些步驟操作的。(下面以windows下的控制臺為例)
① 連接認證:mysql/mysql.exe -h主機地址 -P端口 -u用戶名 -p密碼,其中h可以是ip地址也可以是主機名如-hlocalhost/-h127.0.0.1,本地可以省略;-P(大寫P)是端口,一般mysql是3306,默認可以省略;-u是用戶名,如果沒有匿名賬號,必填;-p(小寫p)是密碼,一般必填,最好是輸入-p后先回車,后輸入密碼(密文輸入密碼,更安全)
② 發送SQL指令,SQL(【百科】結構化查詢語言Structured Query Language結構化查詢語言)是mysql能識別的操作指令,這塊如果想深入學習理解可以參照MySQL的API文檔或者參考黑馬程序員下的6天玩轉MySQL,一般情況下分為幾大類:
DDL:Data Definition Language,數據定義語言,定義結構。如創建數據庫:create database `test` charset utf8;
DML:Data Manipulation Language,數據操作語言,進行數據操作。如增刪改查指令:insert into table values()/delete from table where condition/update table set key = value/select * from table
DCL:Data Controller Language,數據控制語言,進行權限管理。如給用戶授權:grant seletet on *.* to 'root'@localhost
③ 解析:一般情況下客戶端會自動解析MySQL服務器執行返回的結果不需要我們進行額外操作,但是如果是其他編程語言需要使用MySQL執行的結果,那么還需要額外的解析(參照黑馬程序員6天玩轉MySQL中的PHP操作mysql)
④ 斷開連接:數據庫用完之后,要養成主動斷開的習慣(被動也可以,但是如果被動沒有斷開,那么就會“占線”),mysql的客戶端可以使用\q | quit | exit,任意一個退出