node 筆記_1

  • (一)node經常使用
  1. 1.nodemon app.js
    1. debugger
    1. 經過?進行模糊匹配,?前面的參數只支持一位
  2. 4.模糊匹配多數的話用get(user)? 用()?包起來便可
  3. 5.匹配google =>go+gle 匹配n個+號前的字母,可是至少有一個
  4. 6.匹配getUsersldkfjsldkfj 後面的任意一位,用*,
  5. 7.路由是從上到下順序執行的,像if else
  6. 8.路由裏面是能夠放正則表達式的,
  7. 7.commander tj大神寫的,在github裏面搜索commanderjs
  8. 8.在package.json裏面的bin 用命令啓動某個腳本,這個命令必須是唯一的一個全局變量,須要在腳本頭加上#!/usr/bin/env node,
  9. 告訴程序用node啓動
  • (二)數據庫
  1. 1.建立數據庫mysql,數據庫排序規則,utf8_general_ci
  2. 2.建立表:引擎:innoDB 覈對:utf8_general_ci
  3. 3.建立表不能使用保留字,不能使用駝峯命名法,要使用下劃線
  4. 4.date通常年月日,time通常時分秒
  • (三)操做數據庫
  1. 1.插入:INSERT INTO 表名 VALUES (1,null,wang,1993) INSERT INTO (id,user_name) VALUES (2,'liu') 先後匹配,限定插入字段,必填字段必須填寫 選擇了id爲必選項,而且設置自增 INSERT INTO class VALUE (NULL,'14期'),會自動添加id
  2. 2.修改:UPDATE 表名 SET age=18,user_name='wjx' WHERE id=11 查找的通常爲id(惟一),修改多個值用逗號隔開,字符串必須用引號
  3. 3.刪除:DELATE FROM 表名 WHERE id=1 OR id=2 刪除 id爲1和id爲2.
    DELATE FROM 表名 WHERE id=1 AND user_name='wjx' 刪除id爲1而且user_name 爲 'wjx'的數據
  4. 4.查詢:SELECT * FROM 表名 查詢此表全部數據 SELECT user_name,age FROM 表名 SELECT * FROM 表名 WHERE age=15 AND user_name='wjx' 多重條件篩選
  • (四)sq函數
  1. 1.TOP mysql語法: SELECT column_name(s) FROM table_name LIMIT number 例子: SELECT * FROM Persons LIMIT 5 SELECT TOP 2 * FROM Persons 從person表中選取頭兩條數據 SELECT TOP 50 PERCENT * FROM Persons 從persons表中選取50%的記錄
  2. 2.LIKE SELECT column_name(s) FROM table_name WHERE clolumn_name LIKE pattern 例子:SELECT * FROM Persons WHERE City LIKE 'N%' 返回N 和以N開頭的城市 SELECT *FROM Persons WHERE City LIKE '%g' 返回以g結尾的城市的人 SELECT * FROM Persons WHERE City LIKE '%lon%' 返回包含lon的城市的人 SELECT * FROM Persons WHERE City NOT LIKE '%lon%' 返回不包含lon城市的人
  3. 3.SQL 通配符 sql通配符能夠替代一個或者多個字符,sql通配符必須與LIKE 一塊兒使用, % 替代一個或者多個字符
    _ 僅替代一個字符 [charlist] 字符列中的任何單一字符 [^charlist]或者[!charlist] 不在字符列重點任何單一字符 3.1 _通配符: 例子:SELECT * FROM Persons WHERE FirstName LIKE '_eorge' 從Perons表的FirstName列中選取第一個字符以後是'eorge'的人 SELECT * FROM Persons WHERE LastName LIKE 'C_e_er' 從‘Persons’表的Lastname 列 中選取一條以‘C’字母開頭,而後是一個任意字符,而後是'r' ,而後是一個任意字符,而後是'er'的數據 3.2 [charlist]通配符 例子:SELECT * FROM Persons WHERE City LIKE '[ALN]%' 從person表的city列中選取以A/L/N開頭的數據 SELECT * FROM Persons WHERE City LIKE '[!ALN]%' 從person表的city列中選取 不以A/L/N開頭的數據 (四)操做符 1.IN 操做符容許咱們在WHERE 子句中規定多個值 語法:SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2) SELECT * FROM Persons WHERE LastName IN ('fxx','wjx') 從persons表的Lastname 列中選擇值爲fxx和wjx的數據 2.BETWEEN 選取介於兩個值之間的數據範圍 ,這個值能夠是 數值,文本或者日期 SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 例子:SELECT * FROM Persons WHERE LastNae BETWEEN 'Adams' AND 'Carter' 按字母順序顯示介於'Adams'和‘Carter’之間的數據,(包頭不包尾) SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 例子:SELECT * FROM Persons WHERE LastNae NOT BETWEEN 'Adams' AND 'Carter' 按字母順序顯示介於'Adams'和‘Carter’以外的數據,(包尾不包頭) 3.Alias 可爲列名稱和表名稱指定別名 3.1使用表名稱別名: SELECT po.OrderID,p.LastName,p.FirstName FROM Persons AS p,Product_Orders As po WHERE p.LastName='Adams' AND p.FirstName='John'
    在'Persons'和'Product_Orders'這兩個表中,列出‘John Adams’的的數據 3.2使用一個列名別名: SELECT LastName AS Family,FirstName AS Name FROM Persons 搜索出來的結果的列名爲別名

4.join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢數據node

  1. SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons,Orders WHERE Persons.id_p=Orders.id_p 經過id_p將persons和orders兩個錶鏈接起來 2.SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons INNER JOIN Oders ON Persons.id_p=Oders.Id_p ODER BY Persons.LastName 根據名字列出全部訂購的人, 5.INNER JOIN 在表中至少一個匹配時,INNER JOIN 關鍵字返回行 SELECT columns_name(s) FROM table_name1 INNER JOIN table_name_2 ON table_name1.column=table_name2.column_namemysql

  2. LEFT JOIN 會從左表中返回全部的行,即便右表中沒有匹配的行 SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_p ORDER BY Persons.LastNamej 但願列出全部的人,以及他們的訂購(若是有的話)git

7.RIGHT JOIN 會從右表返回全部的行,即便左表沒有匹配的行 SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons RIGHT JONIN Orders ON Persons.Id_p=Orders.Id_P ORDER BY Persons.LastName 如今咱們但願列出全部的訂單,以及訂購他們的人(若是有的話)github

8.FULL JOIN 只要其中某個表存在匹配,FULL JOIN 就會返回行 SELECT Psersons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.id_p=Orders.id_p ORDER BY Persons.LastName 如今但願列出全部的人,以及他們的訂單,以及全部的訂單,以及訂購他們的人正則表達式

9.UNION 用於合併兩個或多個SELECT語句的結果集 UNION 內部的SELECT語句必須擁有相同數量的列,列也必須擁有類似的數據類型,同時,每條SELECT語句中的列的順序必須相同 語法:SELET column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 注意:UNION 操做符選取不一樣的值,若是容許選取重複的值,使用UNION ALL 語法:SELET column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 例子:SELECT E_Name FROM name1_list UNION SELECT E_name FROM name2_list 從兩個表中選取全部的名字sql

10.SELECT INTO 用於建立表的備份復件,從一個表中選取數據,而後插入另外一個表中 10.1 SELECT * INTO Persons_backup FROM Persons 會製做一個Persons的備份表 10.2IN 子句可用於向另外一個數據庫中拷貝表: SELECT * INTO Persons IN 'Backup.mdb' FROM Persons 10.3若是咱們但願拷貝某些域,能夠在selct語句後面列出這些域 SELECT LastName,FirstName INTO Persons——backup FROM Persons 10.4 SELECT 添加WHERE子句 SELECT LastName,FirstName INTO Persons_backup FROM Persons WHERE City='Beijing' 從"Persons" 表中提取居住在 "Beijing" 的人的信息,建立了一個帶有兩個列的名爲 "Persons_backup" 的表 10.5 SELECT Persons.LastName,Ordres.OrderNo INTO Persons_Order_backup FROM Persons INNER JOIN Orders ON Persons.id_p=Orders.id_p 會建立一個名爲 "Persons_Order_Backup" 的新表,其中包含了從 Persons 和 Orders 兩個表中取得的信息 11.CREATE DATABASE database_name 建立數據庫 12.CREAT TABLE 表名稱 int 整數 demical(size,d) numeric(size,d) 帶有小數的數字 size 規定數字的最大位數 d規定小數點右側的最大位數 char(size)容納固定長度的字符串 varchar(size)容納可變長度的字符串 date(yyyymmdd)容納日期 13.constraints sql約束 用於限制加入表的數據類型 能夠在建立表時規定約束(經過CREATE TABLE語句),或者在建立表以後經過(ALTER TABLE) 主要的幾種約束:1.not null 2. unique 3.primary key 4.foreing key 5.check 5.default數據庫

14.NOT NULL 強制列不接受NULL值,此約束強制字段始終包含值,若是不向字段添加值,就沒法插入新記錄或者更新記錄; CREAT TABLE Persons( id_p int NOT NULL, LastName varchar(255) NOT NULL, )json

15.UNIQUE 約束惟一標識數據庫表中的每條記錄 UNIQUE 和 PRIMARY KEY 約束均爲列或者列集合提供了惟一性的保證 PRIMARY KEY 擁有自動定義的 UNIQUE約束 注意:每一個表能夠有多個UNIQUE約束,可是每一個表只能有一個PRIMARY KEY約束 15.1下面的 SQL 在 "Persons" 表建立時在 "Id_P" 列建立 UNIQUE 約束: CREATE TABLE Persons ( id_p int NOT NULL, UNIQUE (id_p) ) 15.2命名 UNIQUE 約束,以及爲多個列定義 UNIQUE 約束 CREATE TABLE Persons ( id_p int NOT NULL, LastName varchar(255) NOT NULL, CONSTRAINT uc_PersonsID UNIQUE (id_p,LastName) ) 15.3當表已被建立時,如需在 "Id_P" 列建立 UNIQUE 約束,請使用下列 SQL: ALTER TABLE Persons ADD UNIQUE (id_p) 15.4如需命名 UNIQUE 約束,並定義多個列的 UNIQUE 約束,請使用下面的 SQL 語法: ALTER TABLE Persons ADD CONSTRAINT uc_PersonsID UNIQUE (id_p,LastName) 15.5如需撤銷 UNIQUE 約束,請使用下面的 SQL: ALTER TABLE Persons DROP INDEX uc_PersonsID 16.PRIMARY KEY 約束惟一標識數據庫表中的每條記錄: 主鍵必須包含惟一的值; 主鍵不能包含NULL值; 每一個表都有一個主鍵,而且每一個表只能有一個主鍵; 16.1 下面的SQL在「Persons」表建立時,在「id_p」列建立 PRIMARY KEY約束: CREATE TABLE Persons( id_p int NOT NULL, PRIMARY KEY (id_p) ) 16.2若是須要命名 PRIMARY KEY 約束,以及爲多個列定義 PRIMARY KEY 約束,請使用下面的 SQL 語法: CREATE TABLE Persons( id_p int NOT NULL, LastName varchar(255) NOT NULL, CONSTRAINT pk_PersonID PRIMARY KEY (id_p,LastName) )app

相關文章
相關標籤/搜索