本文目錄一覽:
- 1、六、MySQL數據庫之數據插入(insert into)
- 2、怎麼往mysql表裡添加數據
- 3、如何導入MySQL數據庫?
- 4、Mysql數據庫插入數據庫報錯, ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name
六、MySQL數據庫之數據插入(insert into)
本節介紹數據的插入,複製數據到另一張表的Sql語法,主要語法有: insert into,insert into select,select into from 等用法,下面將一一為大家詳細說明:
以下面兩張表進行sql腳本說明
insert into有兩種語法,分別如下:
語法1:INSERT INTO table_name VALUES (value1,value2,value3,…); –這種形式無需指定要插入數據的列名,只需提供被插入的值即可:
語法2:INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…); –這種形式需指定要插入數據的列名,插入的值需要和列名一一對應:
eg:insert into customer values(‘1006′,’14006′,’王欣欣’,’27’,’深圳市’); –向表customer插入一條數據
eg:insert into customer values(‘1007′,’14007′,’孟一凡’,’27’,”); –向表customer插入一條數據,最後一個值不填表示對應的值為空,非必填項可以不用插入值
eg:insert into customer (cus_id,cus_no,cus_name,cus_age,cus_adds) values(‘1008′,’14008′,’孔凡’,’26’,’廣州市’); –向表customer插入一條數據,插入的值與列名一一對應
詳解:insert into select –表示從一個表複製數據,然後把數據插入到一個已存在的表中。目標表中任何已存在的行都不會受影響。
語法1:INSERT INTO table_name2 SELECT * FROM table_name1; –表示將表table_name1中複製所有列的數據插入到已存在的表table_name2中。被插入數據的表為table_name2,切記不要記混了。
eg:insert into customer select * from asett –將表asett中所有列的數據插入到表customer中
語法2:INSERT INTO table_name2 (column_name(s)) SELECT column_name(s) FROM table_name1; –指定需要複製的列,只複製制定的列插入到另一個已存在的表table_name2中:
eg:insert into customer (cus_id,cus_no) select ast_id,ast_no from asett –將表asett中列ast_id和ast_no的數據插入到表customer對應的cus_id,cus_no列中
詳解:從一個表複製數據,然後把數據插入到另一個新表中。
語法1:SELECT * INTO newtable [IN externaldb] FROM table1; –複製所有的列插入到新表中:
eg:select * into customer from asett –將asett表中數據插入到customer中,被插入的 表customer不存在
eg:select * into customer from asett where ast_id = ‘1008’ –只複製表asett中ast_id=1008的數據插入到customer中,被插入的 表customer不存在
語法2:SELECT column_name(s) INTO newtable [IN externaldb] FROM table1; –只複製指定的列插入到新表中:
eg:select ast_id,ast_no into customer from asett –將asett表中列ast_id,ast_no數據插入到customer中,被插入的 表customer不存在
區別1:insert into customer select * from asett where ast_id=’1009′ –插入一行,要求表customer 必須存在
區別2:select * into customer from asett where ast_id=’1009′ –也是插入一行,要求表customer 不存在
區別3:select into from :將查詢出來的數據複製到一張新表中保存,表結構與查詢結構一致。
區別4:insert into select :為已經存在的表批量添加新數據。
怎麼往mysql表裡添加數據
方法如下:
1、首先打開Mysql命令行編輯器,連接Mysql數據庫;
2、使用所要操作的數據庫,先顯示一下數據庫中的表;
3、顯示一下表結構,了解一下表中的列;
4、向表插入數據,insert into 表名 (列名) values (值);
5、查詢表可以看到所插入的數據,select * from 表名;
6、可以再插入一個數據,顯示一下。
擴展資料:
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。
MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。
由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
與其他的大型數據庫,例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
Linux作為操作系統,Apache 或Nginx作為 Web 服務器,MySQL 作為數據庫,PHP/Perl/Python作為服務器端腳本解釋器。由於這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩定、免費的網站系統,被業界稱為「LAMP「或「LNMP」組合。
MyISAMMySQL 5.0 之前的默認數據庫引擎,最為常用。擁有較高的插入,查詢速度,但不支持事務
InnoDB事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定, MySQL 5.5 起成為默認數據庫引擎
BDB源 自 Berkeley DB,事務型數據庫的另一種選擇,支持Commit 和Rollback 等其他事務特性
Memory所有數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會佔用和數據量成正比的內存空間。並且其內容會在 MySQL 重新啟動時丟失
Merge將一定數量的 MyISAM 表聯合而成一個整體,在超大規模數據存儲時很有用
Archive非常適合存儲大量的獨立的,作為歷史記錄的數據。因為它們不經常被讀取。Archive 擁有高效的插入速度,但其對查詢的支持相對較差
Federated將不同的 MySQL 服務器聯合起來,邏輯上組成一個完整的數據庫。非常適合分佈式應用
Cluster/NDB高冗餘的存儲引擎,用多台數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用
CSV: 邏輯上由逗號分割數據的存儲引擎。它會在數據庫子目錄里為每個數據表創建一個 .csv 文件。這是一種普通文本文件,每個數據行佔用一個文本行。CSV 存儲引擎不支持索引。
BlackHole:黑洞引擎,寫入的任何數據都會消失,一般用於記錄 binlog 做複製的中繼
EXAMPLE 存儲引擎是一個不做任何事情的存根引擎。它的目的是作為 MySQL 源代碼中的一個例子,用來演示如何開始編寫一個新存儲引擎。同樣,它的主要興趣是對開發者。EXAMPLE 存儲引擎不支持編索引。
另外,MySQL 的存儲引擎接口定義良好。有興趣的開發者可以通過閱讀文檔編寫自己的存儲引擎。
參考資料來源:百度百科:mySQL
如何導入MySQL數據庫?
1、打開電腦,在電腦桌面的開始界面中找到mysql,如圖所示。
2、雙擊打開mysql軟件,並輸入密碼,如圖所示。
3、如果sql文件的內容中有創建數據庫的語句,或者想將表存放在已有的數據庫,在這裡就不用創建數據庫。
4、輸入「show databases;」就能看到自己創建的數據庫,如圖所示。
5、輸入「use 數據庫名」,開始使用這個數據庫,如圖所示。
6、開始導入sql文件,輸入「source sql文件的路徑」(注意文件路徑要是複製來的,要將”\”全部換成「/」)。
7、最後輸入「show tables」,就會看到導入的數據了,如圖所示。
Mysql數據庫插入數據庫報錯, ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name
「ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name」,此問題的原因:配置文件錯誤。
解決的方法和操作步驟如下:
1、首先,右鍵單擊開始圖標,然後在菜單上選擇「運行」選項,如下圖所示,然後進入下一步。
2、其次,完成上述步驟後,在輸入框中輸入「cmd」命令,然後單擊「確定」按鈕,如下圖所示,然後進入下一步。
3、接着,完成上述步驟後,輸入「mysql -uroot -p+密碼」,如下圖所示,然後進入下一步。
4、然後,完成上述步驟後,連接成功,輸入如下紅框中的內容,然後進入下一步。
5、隨後,完成上述步驟後,查找配置文件所在的地址,如下圖所示,然後進入下一步。
6、最後,完成上述步驟後,打開mysql.ini文件,將默認字符集修改為「utf8」,因為MYSQL版本不同,配置文件中的內容也不相同,只需要修改字符集設置並將其修改為utf8即可,如下圖所示。這樣,問題就解決了。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129606.html