Posts

Showing posts with the label mysql

MySQL安裝

自從 MySQL 被 Oracle 收購後,就鮮少使用 MySQL 了。最近由於 Hive 的需要,打算複習一下SQL Command,不然每次在 Hive 上作 query 都要等上一陣子。這裏記錄一下安裝的流程: 1. 自 Oracle 官網下載 [ 連結 ] 2. 選擇  MySQL Community Server [Version] 的 bundle 版本。另外記得edition是 community 而非 classic 與 standard,因為前者是開源,後兩者都是付費版本。[目前安裝版本: 5.6.23] 3.  照著官網的步驟: 3.1 解壓縮 >> tar -zxvf MySQL-Community-Server.[VERSION].[LINUX_BRANCH].tar 3.2 安裝 dependencies >> dpkg -i libmysqlclient18-*.deb >>apt-get install libaio1 3.3 安裝 common, server >> dpkg -i mysql-common-*.deb >> dpkg -i mysql-server-*.deb 3.4 log-in 似乎會預設好  root  account >> mysql -u root -p 3.5 新增帳戶   3.5.1 root登入後   >> CREATE USER [USERNAME]@[HOSTNAME] IDENTIFIED BY [PASSWORD]; 3.6 查詢用戶 >> SELECT User, Hostname FROM MySQL.User; 001 顯示 column name >>SHOW COLUMNS FROM db.mytable; 002 使用內建函數並顯示結果 >>SELECT CURDATE(); 003 插入一筆資料 >> INSERT INTO member(name, address, age, city, birthday) VALUES ('jog', ...

Week's note

(1) python 這週五面試了間公司,被詢問了個關於一個 python 不錯的問題,筆記一下。 [Q] a = [[0]*3]*4 a[0][1] = 3 a[1][1] = ? [A]     主要是python對於常數(constant/immutable variable)所指向的記憶體空間皆同. 像是 0, "a", 3.189 等常數有各自的記憶體空間。但是list, dic等型別的宣告則會分配不同的空間。 >>> a=[[1,2],[1,2]] >>> id(a[0]) 4336602216 >>> id(a[1]) 4336652728 >>> a=[[1,2]]*2 >>> id(a[0]) 4336652440 >>> id(a[1]) 4336652440     另外就是 list 的乘法。過去針對數值的運算免不了都用 numpy, scipy 或 conda 內建地資料結構, 像是 array, frame, matrix 等,直接作 list multiplication 我通常只會寫 '='*10 做排版或者採用 list comprehension 的寫法,什麼時候會直些相乘?還沒見過。 不過L大建議可以利用 (1) dis 去 dump python bytecode 了解語法差異。(2) 針對 immutable 的特性,用 ctypes.memmove() 就讓此特性消失了, 很機車的解法 lol  (1) SQL     昨天L大問了個關於資料庫的字串搜尋的問題,紀錄一下。假設要找字串 ABC     Mysql 語法   SELECT * FROM   [table]   WHERE [column] LIKE '%ABC%' [Q] 如何讓它更快? [A]      a. 若 table 提供 full text indexing, 用關鍵詞 CONTAINS [ stacko...