MySQL的安裝和使用

安裝MySQL

 

MSSQL導數據到MySQL

用可視化工具SQLyog

可參考:http://www.cnblogs.com/gaizai/p/3237907.html

 

MySQLMSSQL語法區別:

區別

MSSQL

MySQL

註釋

單行註釋:--

段落註釋:/*abc*/

單行註釋://或者#或者-- (多一個空格)

多行註釋/*abc*/

存儲過程

CREATE PROC test1(@s BIGINT)

BEGIN

...

END

CREATE PROCEDURE test1(IN s BIGINT)

BEGIN

...

END;

修改列

alter table  alter column 

類型

ALTER TABLE  CHANGE 舊列名 新列名 類型;

刪除主鍵

alter table  drop 主鍵名

 

alter table  drop primary key;

 

函數:

LOCATE

LOCATE(查找的字符串,所在的字符串,起始位置)-- MSSQLcharindex函數一樣

mysql> select LOCATE('ab','abcdabc',1);

+-------------------------------+

| LOCATE('ab','abcdabc',1) |

+-------------------------------+

|                    1 |

+-------------------------------+

mysql> select LOCATE('ab','abcdabc',3);

+-------------------------------+

| LOCATE('ab','abcdabc',3) |

+-------------------------------+

|                    5 |

+-------------------------------+

LIMIT

mysql> SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15

//爲了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數爲 -1: 

mysql> SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last.

//如果只給定一個參數,它表示返回最大的記錄行數目,LIMIT n 等價於 LIMIT 0,n: 

mysql> SELECT * FROM table LIMIT 5; //檢索前 個記錄行


使用Navicat For MySQL

F6(工具-命令列界面)進入命令列

 wKioL1Xa1HOAtqMYAAKJSU8Ehbo013.jpg

或者打開查詢窗口

 wKiom1Xa0nSBNl-KAALDzKnnGpk199.jpg

常用SQL

查看命令:

1. mysql> show databases;

2. mysql> show tables;

3. mysql> desc w_answer;

4. mysql> show create procedure cs_ro_getquestionlist;

5. mysql> show triggers

表操作:

創建表:

mysql> create table t1(id bigint,name nvarchar(200));

Query OK, 0 rows affected

修改表:

mysql> alter table t1 add addtime datetime;

mysql> alter table t1 drop column addtime;

mysql> alter table t1 change name score int;

查看錶結構:

mysql> desc t1;

mysql> show columns from t1;

mysql> show create table t1;

刪除表:

mysql> drop table t1;

索引操作:

新增索引:mysql> create index xID on t1(id);

          mysql> alter table t1 add index xID (id);

刪除索引:mysql> drop index xID on t1;

          mysql> alter table t1 drop index xID;

查看索引:mysql> show index from t1;

重建索引:mysql> repair table t1 quick;

索引統計:右鍵-對象信息

主鍵操作:

添加主鍵:mysql> alter table t1 add primary key(id);

刪除主鍵:mysql> alter table t1 drop primary key;

外鍵操作:

添加外鍵:

   mysql> alter table testtag add constraint fk_test foreign key (ClassID) references testclass(ID);

刪除外鍵:mysql> ALTER TABLE testtag DROP FOREIGN KEY `fk_test`;

觸發器:

創建觸發器:

mysql> create trigger tri_class_i before insert on w_questionclass for each row

    -> begin

    -> set new.px=6;

    -> end;

查看觸發器:mysql> show triggers;

刪除觸發器:mysql> drop trigger tri_class_i;

數據操作:

新增數據:

mysql> insert into t1(id,name)

-> select 123456,'ssssk';

mysql> insert into t1

-> values(111111,'asd');

mysql> insert into t1

    -> select 111112,'abc' union all

    -> select 111113,'abcd';

查詢數據:

mysql> select * from t1 where id=123456;

mysql> SELECT ID FROM TEST ORDER BY ID LIMIT 0,3;//顯示前三行

mysql> select distinct id from testclass;

mysql> select addy,count(1)as digit from test group by addy order by count(1);

更新數據:

mysql> update t1 set name='ssss' where id=123456;

刪除數據:

mysql> delete from t1 where id=111111;

存儲過程:

(1)輸出參數:

mysql> create procedure test(out s int)

    -> begin

    -> select count(1)into s from tabletest;

-> end;

調用存儲過程

mysql> call test(@a);

mysql> select @a;

(2)輸入參數:

mysql> CREATE PROCEDURE test1(IN s BIGINT)

    -> BEGIN

    -> SELECT ID FROM tabletest WHERE ID=s;

    -> END;

mysql> CALL test1(610815855784);

3)表連接:

mysql> CREATE PROCEDURE test2(IN s BIGINT)

    -> BEGIN

    -> SELECT a.ID,b.ID,c.ID from testtag a left join testontag b on a.ID=b.tagid left join test c on b.questionid=c.ID WHERE c.ID=s;

    -> END;

mysql> call test2(24);

注意:

MySQL沒有WITH(NOLOCK)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章