天天看點

ORACLE 與 mysql 的差別

比版本 Oracle Mysql
預設安裝目錄 可選擇 C:/program files/MYSQL
各種實用程式所在目錄 可選擇 C:/program files//BIN
控制台工具

SVRMGR.EXE

SVRMGR23.EXE

mysqladmin.exe
資料庫啟動程式 0start73.exe screen mysqld-shareware.exe
關閉資料庫指令 ostop73.exe mysqladmin.exe -u root shutdown
客戶程式 SQL*Plus mysql
啟動指令 c:/orawin95/bin/sqlplus.exe c:/mysql/bin/mysql.exe

帶使用者啟動方式

(直接連庫方式)

c:/orawin95/bin/sqlplus.exe system/[email protected]

c:/mysql/bin/mysql.exe test

c:/mysql/bin/mysql.exe -u root test

安裝後系統預設使用者(庫)

sys

system

scott

mysql

test

顯示所有使用者(庫) SQL >select * from all_users;

C:/mysql/bin>mysqlshow

C:/mysql/bin>mysqlshow --status

mysql> show databases;

退出指令

SQL> exit

SQL> quit

mysql> exit

mysql> quit

改變連接配接使用者(庫) SQL> conn 使用者名/密碼@主機字元串 mysql> use 庫名
查詢目前所有的表

SQL> select * from tab;

SQL> select * from cat;

mysql> show tables;

c:/mysql/bin>mysqlshow 庫名

顯示目前連接配接使用者(庫) SQL> show user mysql> connect
檢視幫助 SQL> ? mysql> help
顯示表結構

SQL> desc 表名

SQL> describe 表名

mysql> desc 表名;

mysql> describe 表名;

mysql> show columns from 表名;

c:/mysql/bin>mysqlshow 庫名 表名

日期函數 SQL> select sysdate from dual;

mysql> select now();

mysql> select sysdate();

mysql> select curdate();

mysql> select current_date;

mysql> select curtime();

mysql> select current_time;

日期格式化

SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;

SQL> select to_char(sysdate,'hh24-mi-ss') from dual;

mysql> select date_format(now(),'%Y-%m-%d');

mysql> select time_format(now(),'%H-%i-%S');

日期函數

(增加一個月)

SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),1),'yyyy-mm-dd') from dual;

結果:2000-02-01

SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),5),'yyyy-mm-dd') from dual;

結果:2000-06-01

mysql> select date_add('2000-01-01',interval 1 month);

結果:2000-02-01

mysql> select date_add('2000-01-01',interval 5 month);

結果:2000-06-01

别名 SQL> select 1 a from dual; mysql> select 1 as a;
字元串截取函數

SQL> select substr('abcdefg',1,5) from dual;

SQL> select substrb('abcdefg',1,5) from dual;

結果:abcde

mysql> select substring('abcdefg',2,3);

結果:bcd

mysql> select mid('abcdefg',2,3);

結果:bcd

mysql> select substring('abcdefg',2);

結果:bcdefg

mysql> select substring('abcdefg' from 2);

結果:bcdefg

另有SUBSTRING_INDEX(str,delim,count)函數

傳回從字元串str的第count個出現的分隔符delim之後的子串。

如果count是正數,傳回最後的分隔符到左邊(從左邊數) 的所有字元。

如果count是負數,傳回最後的分隔符到右邊的所有字元(從右邊數)。

執行外部腳本指令 SQL >@a.sql

1:mysql> source a.sql

2:c:/mysql/bin>mysql <a.sql

3:c:/mysql/bin>mysql 庫名 <a.sql

導入、導出工具

exp.exe

exp73.exe

imp.exe

imp73.exe

mysqldump.exe

mysqlimport.exe

改表名 SQL> rename a to b; mysql> alter table a rename b;
執行指令

;<回車>

/

r

run

;<回車>

go

ego

distinct用法

SQL> select distinct 列1 from 表1;

SQL> select distinct 列1,列2 from 表1;

mysql> select distinct 列1 from 表1;

mysql> select distinct 列1,列2 from 表1;

注釋 --

#

--

當作電腦 SQL> select 1+1 from dual; mysql> select 1+1;
限制傳回記錄條數 SQL> select * from 表名 where rownum<5; mysql> select * from 表名 limit 5;
建立使用者(庫) SQL> create user 使用者名 identified by 密碼; mysql> create database 庫名;
删使用者(庫) SQL> drop user 使用者名; mysql> drop database 庫名;
外連接配接 使用(+) 使用left join
查詢索引 SQL> select index_name,table_name from user_indexes; mysql> show index from 表名 [FROM 庫名];
通配符 “%” “%”和“_”
SQL文法

SELECT selection_list 選擇哪些列

FROM table_list 從何處選擇行

WHERE primary_constraint 行必須滿足什麼條件

GROUP BY grouping_columns 怎樣對結果分組

HAVING secondary_constraint 行必須滿足的第二條件

ORDER BY sorting_columns 怎樣對結果排序

SELECT selection_list 選擇哪些列

FROM table_list 從何處選擇行

WHERE primary_constraint 行必須滿足什麼條件

GROUP BY grouping_columns 怎樣對結果分組

HAVING secondary_constraint 行必須滿足的第二條件

ORDER BY sorting_columns 怎樣對結果排序

LIMIT count 結果限定