⑴ 資料庫的增刪改查
1、資料庫增加數據:
1)插入單行
insert [into] <表名> (列名) values (列值)
例:insert into t_table (name,sex,birthday) values ('開心朋朋','男','1980/6/15')
2)將現有表數據添加到一個已有表 insert into <已有的新表> (列名) select <原表列名> from <原表名>
例:insert into t_table ('姓名','地址','電子郵件')
select name,address,emailfrom t_table
3)直接拿現有表數據創建一個新表並填充select <新建表列名> into <新建表名> from <源表名>例:select name,address,email into t_table from strde
2、資料庫刪除數據:
1)刪除<滿足條件的>行
delete from <表名> [where <刪除條件>]。
例:delete from t_tablewhere name='開心朋朋'(刪除表t_table中列值為開心朋朋的行)
2)刪除整個表truncate table <表名>
truncate table tongxunlu
注意:刪除表的所有行,但表的結構、列、約束、索引等不會被刪除;不能用語有外建約束引用的表
3、資料庫修改數據 update <表名> set <列名=更新值> [where <更新條件>]
例:update t_table set age=18 where name='藍色小名'
4、資料庫查詢數據:
1)精確(條件)查詢
select <列名> from <表名> [where <查詢條件表達試>] [order by <排序的列名>[asc或desc]]
2)查詢所有數據行和列。例:select * from a
說明:查詢a表中所有行和列
3)使用like進行模糊查詢
注意:like運算副只用於字元串,所以僅與char和varchar數據類型聯合使用
例:select * from a where name like '趙%'
說明:查詢顯示表a中,name欄位第一個字為趙的記錄
4)使用between在某個范圍內進行查詢
例:select * from a where nianling between 18 and 20
說明:查詢顯示表a中nianling在18到20之間的記錄
5)使用in在列舉值內進行查詢
例:select name from a where address in ('北京','上海','唐山')
說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name欄位
(1)etl和資料庫的增刪改查擴展閱讀:
插入之前需要創建數據表,創建方式如下:
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
例如:--流程步驟定義表
create table T_flow_step_def(
Step_no int not null, --流程步驟ID
Step_name varchar(30) not null, --流程步驟名稱
Step_des varchar(64) not null, --流程步驟描述
Limit_time int not null, --時限
URL varchar(64) not null, --二級菜單鏈接
Remark varchar(256) not null,
)
⑵ 連接資料庫成功,但是怎麼對資料庫裡面的表進行「增刪改查」的業務操作啊,誰有個幫主文檔啊,給個謝謝!
以users表為例,有三個欄位,自增長的編號id,int類型;名稱name,nvarchar類型,密碼pwd,nvarchar類型
首先在vs2005中引入using System.Data.sqlClient;命名空間
/// <summary>
/// 增加
/// </summary>
/// <param name="name">姓名</param>
/// <param name="pwd">密碼</param>
/// <returns></returns>
public int Insert(string name,string pwd)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog後面跟你資料庫的名字,如果你的SqlServer伺服器名稱後面不帶SQLEXPRESS,那麼Data Source=.
conn.Open();
string sql = "insert into users(name,pwd) values(@name,@pwd)";
SqlCommand cmd = new SqlCommand(sql,conn);
SqlParameter parn = new SqlParameter("@name",name);
cmd.Parameters.Add(parn);
SqlParameter parp = new SqlParameter("@pwd", pwd);
cmd.Parameters.Add(parn);
int result = cmd.ExecuteNonQuery();//result接收受影響行數,也就是說result大於0的話表示添加成功
conn.Close();
cmd.Dispose();
return result;
}
/// <summary>
/// 刪除
/// </summary>
/// <param name="name">姓名</param>
/// <param name="pwd">密碼</param>
/// <returns></returns>
public int Update(int id)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog後面跟你資料庫的名字,如果你的SqlServer伺服器名稱後面不帶SQLEXPRESS,那麼Data Source=.
conn.Open();
string sql = "delete from users where id=@id";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter parn = new SqlParameter("@id", id);
cmd.Parameters.Add(parn);
int result = cmd.ExecuteNonQuery();//result接收受影響行數,也就是說result大於0的話表示刪除成功
conn.Close();
cmd.Dispose();
return result;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="name">姓名</param>
/// <param name="pwd">密碼</param>
/// <returns></returns>
public int Insert(string name, string pwd,int id)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog後面跟你資料庫的名字,如果你的SqlServer伺服器名稱後面不帶SQLEXPRESS,那麼Data Source=.
conn.Open();
string sql = "update users set name=@name,pwd=@pwd where id=@id";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter parn = new SqlParameter("@name", name);
cmd.Parameters.Add(parn);
SqlParameter parp = new SqlParameter("@pwd", pwd);
cmd.Parameters.Add(parn);
SqlParameter pari = new SqlParameter("@id", id);
cmd.Parameters.Add(pari);
int result = cmd.ExecuteNonQuery();//result接收受影響行數,也就是說result大於0的話表示修改成功
conn.Close();
cmd.Dispose();
return result;
}
/// <summary>
/// 查詢
/// </summary>
/// <returns></returns>
public DataTable Select()
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog後面跟你資料庫的名字,如果你的SqlServer伺服器名稱後面不帶SQLEXPRESS,那麼Data Source=.
conn.Open();
string sql = "select * from users";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
conn.Close();
cmd.Dispose();
return dt;
}
方法寫好後,下面舉一個查詢的例子,在form窗體中拖一個DataGridView,然後在Load方法中
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = Select();
}
這樣一運行,DataGridView中就會顯示數據了
⑶ 資料庫增刪改查的基本命令
以下是總結的mysql的常用語句,歡迎指正和補充~
一、創建庫,刪除庫,使用庫
1.創建資料庫:create database 庫名;
2.刪除資料庫:drop database 庫名;
3.使用資料庫:use 庫名;
二、創建數據表
1.創建表語句:create table 表名(欄位名1 欄位類型 欄位約束,欄位2 欄位類型 欄位約束...);
2.創建與現有表一樣欄位的新表:create table 表名 like 已有表名;
3.將查詢結果創建新表:create table 表名 select * from 現有表 where...(查詢語句);
三、查看錶結構,查看建表語句,刪除表
1.查看錶結構:desc 表名;
2.查看建表語句:show create table 表名;
3.刪除表:drop table 表名;
四、修改表結構
1.對數據表重命名:alter table 表名 rename 新表名;
2.增加欄位:alter table 表名 add 欄位名 欄位類型 欄位約束; (PS:可用first/after函數調整欄位位置)
3.刪除欄位:alter table 表名 drop 欄位名;
4.修改欄位類型及約束:alter table 表名 modify 欄位名 新類型 新約束;(PS:如不加新約束,會將建表時的約束清空,主鍵、外鍵、唯一約束除外)
5.修改欄位名稱:alter table 表名 change 欄位名 新欄位名 新欄位類型 新約束條件;
6.修改資料庫引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB對經常修改表數據友好,MyISAM對經常查詢表友好)
7.增加主鍵:alter table 表名 add primary key(欄位名);
8.刪除主鍵:alter table 表名 drop primary key;
9.增加外鍵:alter table 表名 add constraint 外鍵名 foreign kek(欄位名) references 主表(主鍵);
10.刪除外鍵:alter table 表名 drop foreign key 外鍵名;
11.刪除唯一約束:alter table 表名 drop index 欄位名;
12.設置自動增長的初始位置:alter table 表名 auto_increment=n;
五、向表中插入數據
1.向表指定欄位插入多條數據:insert into 表名(欄位1,欄位2...) values(數據1,數據2...),(數據1,數據2...),(數據1,數據2...),(數據1,數據2...);
2.將查詢結果插入表:insert into 表名 select 欄位名 from 表名(查詢語句);
3.載入外部數據到表:Load data local infile 『數據路徑』Into table 表名 Fields terminated by 『分隔符』Ignored 1 lines;
六、更新表數據、刪除表數據
1.更改滿足條件的欄位數據:update 表名 set 欄位計算1,欄位計算2... where 條件;
2.刪除滿足條件的數據:delele from 表名 where 條件;
3.刪除所有數據:方式一:delete from 表名; 方式二:truncate table 表名; 方式一會逐條進行刪除,速度較慢,方式二直接刪除,速度快;另外對自增欄位,方式一不能重置自增欄位的初始位置,方式二可以重置自增欄位的其實位置;
⑷ 通過什麼方法可以實現資料庫的增刪改查
以mysql為例子:
1、增 insert
2、刪 delete
3、改 update
4、查 select
⑸ etl的概念,etl和elt數據處理上的區別
對於做過 BI 開發的朋友,ETL 並不陌生,只要涉及到數據源的數據抽取、數據的計算和處理過程的開發,都是 ETL,ETL 就這三個階段,Extraction 抽取,Transformation 轉換,Loading 載入。
從不同數據源抽取數據 EXTRACTION ,按照一定的數據處理規則對數據進行加工和格式轉換 TRASFORMATION,最後處理完成的輸出到目標數據表中也有可能是文件等等,這個就是 LOADING。
再通俗一點講,ETL 的過程就跟大家日常做菜一樣,需要到菜市場的各個攤位買好菜,把菜買回來要摘一下,洗一洗,切一切最後下鍋把菜炒好端到飯桌上。菜市場的各個攤位就是數據源,做好的菜就是最終的輸出結果,中間的所有過程像摘菜、洗菜、切菜、做菜就是轉換。
在開發的時候,大部分時候會通過 ETL 工具去實現,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微軟 SQL SERVER 裡面的 SSIS 等等,在結合基本的 SQL 來實現整個 ETL 過程。
也有的是自己通過程序開發,然後控制一些數據處理腳本跑批,基本上就是程序加 SQL 實現。
哪種方式更好,也是需要看使用場景和開發人員對那種方式使用的更加得心應手。我看大部分軟體程序開發人員出身的,碰到數據類項目會比較喜歡用程序控制跑批,這是程序思維的自然延續。純 BI 開發人員大部分自然就選擇成熟的 ETL 工具來開發,當然也有一上來就寫程序腳本的,這類 BI 開發人員的師傅基本上是程序人員轉過來的。
用程序的好處就是適配性強,可擴展性強,可以集成或拆解到到任何的程序處理過程中,有的時候使用程序開發效率更高。難就難在對維護人員有一定的技術要求,經驗轉移和可復制性不夠。
用 ETL 工具的好處,第一是整個 ETL 的開發過程可視化了,特別是在數據處理流程的分層設計中可以很清晰的管理。第二是鏈接到不同數據源的時候,各種數據源、資料庫的鏈接協議已經內置了,直接配置就可以,不需要再去寫程序去實現。第三是各種轉換控制項基本上拖拉拽就可以使用,起到簡化的代替一部分 SQL 的開發,不需要寫代碼去實現。第四是可以非常靈活的設計各種 ETL 調度規則,高度配置化,這個也不需要寫代碼實現。
所以在大多數通用的項目中,在項目上使用 ETL 標准組件開發會比較多一些。
ETL 從邏輯上一般可以分為兩層,控制流和數據流,這也是很多 ETL 工具設計的理念,不同的 ETL 工具可能叫法不同。
控制流就是控制每一個數據流與數據流處理的先後流程,一個控制流可以包含多個數據流。比如在數據倉庫開發過程中,第一層的處理是ODS層或者Staging 層的開發,第二層是 DIMENSION維度層的開發,後面幾層就是DW 事實層、DM數據集市層的開發。通過ETL的調度管理就可以讓這幾層串聯起來形成一個完整的數據處理流程。
數據流就是具體的從源數據到目標數據表的數據轉換過程,所以也有 ETL 工具把數據流叫做轉換。在數據流的開發設計過程中主要就是三個環節,目標數據表的鏈接,這兩個直接通過 ETL 控制項配置就可以了。中間轉換的環節,這個時候就可能有很多的選擇了,調 SQL 語句、存儲過程,或者還是使用 ETL 控制項來實現。
有的項目上習慣使用 ETL 控制項來實現數據流中的轉換,也有的項目要求不使用標準的轉換組件使用存儲過程來調用。也有的是因為數據倉庫本身這個資料庫不支持存儲過程就只能通過標準的SQL來實現。
我們通常講的BI數據架構師其實指的就是ETL的架構設計,這是整個BI項目中非常核心的一層技術實現,數據處理、數據清洗和建模都是在ETL中去實現。一個好的ETL架構設計可以同時支撐上百個包就是控制流,每一個控制流下可能又有上百個數據流的處理過程。之前寫過一篇技術文章,大家可以搜索下關鍵字 BIWORK ETL 應該在網上還能找到到這篇文章。這種框架設計不僅僅是ETL框架架構上的設計,還有很深的ETL項目管理和規范性控制器思想,包括後期的運維,基於BI的BI分析,ETL的性能調優都會在這些框架中得到體現。因為大的BI項目可能同時需要幾十人來開發ETL,框架的頂層設計就很重要。
⑹ 資料庫的增刪改查sql語句
增加 insert into 表(列名1,列名2,列名3...) values(值1,值2,值3......) 刪除 delete from 表 where 列名=條件 修改 update 表 set 列名=值 where 列名=條件 上面幾個是完整的形式~
麻煩採納,謝謝!
⑺ 如何在EXCEL中實現對資料庫的增刪改查
1
2
具體代碼如下:
04142434445464748495051525354 import java.io.File; import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;/** * java代碼編輯excel文件 * @author young * */public class EditExcel { public static void main(String args[]) { try { // 創建文件 WritableWorkbook book = Workbook .createWorkbook(new File("test.xls")); // 生成名為「第一頁」的工作表,參數0表示這是第一頁 WritableSheet sheet = book.createSheet(" 第一頁 ", 0); // 在Label對象的構造子中指名單元格位置是第一列第一行(0,0) // 以及單元格內容為test Label label = new Label(0, 0, " test "); // 將定義好的單元格添加到工作表中 sheet.addCell(label); // 生成一個保存數字的單元格 必須使用Number的完整包路徑,否則有語法歧義 單元格位置是第二列,第一行,值為555.12 jxl.write.Number number = new jxl.write.Number(1, 0, 555.12); sheet.addCell(number); // 讀取excel文件,第一個單元格的內容 System.out.println("讀取excel文件並輸出:" + book.getSheet(0).getCell(0, 0).getContents()); // 讀取excel文件,第二個單元格的內容 System.out.println("讀取excel文件並輸出:" + book.getSheet(0).getCell(1, 0).getContents()); //修改excel文件(update),添加一個工作表 WritableSheet sheet1 = book.createSheet( " 第二頁 " , 1 ); //添加數據 Label label1 = new Label(0 , 0 , " 第二頁的測試數據 "); sheet1.addCell(label1); //修改數據 label1.setString("young"); //刪除數據,此時excel第二頁沒有數據 sheet1.removeRow(0); // 寫入數據並關閉文件 book.write(); book.close(); } catch (Exception e) { System.out.println(e); } }}
⑻ 資料庫的增刪改查是什麼意思
一般來說都只是對表的操作,例如新建立一個學生表,那麼增表示向學生表中插入一條記錄,刪指的是從學生表中刪除一條記錄,查是指根據某些欄位例如查詢姓名為張三的學生的記錄信息就是查詢
⑼ 資料庫中增刪改查的基本語句是什麼
資料庫中增刪改查基本語句:INSERT INTO,表名欄位列表。
資料庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是資料庫並不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。
當今世界是一個充滿著數據的互聯網世界,充斥著大量的數據。即這個互聯網世界就是數據世界。數據的來源有很多,比如出行記錄、消費記錄、瀏覽的網頁、發送的消息等等。除了文本類型的數據,圖像、音樂、聲音都是數據。
在資料庫的發展歷史上,資料庫先後經歷了層次資料庫、網狀資料庫和關系資料庫等各個階段的發展,資料庫技術在各個方面的快速的發展。特別是關系型資料庫已經成為目前資料庫產品中最重要的一員。
80年代以來,幾乎所有的資料庫廠商新出的資料庫產品都支持關系型資料庫,即使一些非關系資料庫產品也幾乎都有支持關系資料庫的介面。
這主要是傳統的關系型資料庫可以比較好的解決管理和存儲關系型數據的問題。隨著雲計算的發展和大數據時代的到來,關系型資料庫越來越無法滿足需要,這主要是由於越來越多的半關系型和非關系型數據需要用資料庫進行存儲管理。