电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL入門教程4 —— 創建表并將數據裝入表

瀏覽:3日期:2023-10-17 14:42:39
1.創建表

創建數據庫是很容易的部分,但是在這時它是空的,正如SHOW TABLES將告訴你的:

mysql> SHOW TABLES; Empty set (0.00 sec)

較難的部分是決定你的數據庫結構應該是什么:你需要什么數據庫表,各數據庫表中有什么樣的列。

你將需要一個包含你每個寵物的記錄的表。它可稱為pet表,并且它應該包含,最少,每個動物的名字。因為名字本身不是很有趣,表應該包含另外的信息。例如,如果在你豢養寵物的家庭有超過一個人,你可能想要列出每個動物的主人。你可能也想要記錄例如種類和性別的一些基本的描述信息。

年齡呢?那可能有趣,但是存儲到一個數據庫中不是一件好事情。年齡隨著時間流逝而變化,這意味著你將要不斷地更新你的記錄。相反, 存儲一個固定值例如生日比較好,那么,無論何時你需要年齡,可以以當前日期和出生日期之間的差來計算它。MySQL提供了日期運算函數,因此這并不困難。存儲出生日期而非年齡還有其它優點:

· 你可以使用數據庫完成這樣的任務,例如生成即將到來的寵物生日的提示。(如果你認為這類查詢有點蠢,注意,這與從商務數據庫來識別出不久要發給生日祝賀的客戶是同一個問題,因為計算機幫助私人聯絡。)

· 你可以相對于日期而不止是當前日期來計算年齡。例如,如果你在數據庫存儲死亡日期,你能很容易地計算出一只寵物死時有多大。

你可能想到pet表中其它有用的其它類型信息,但是到目前為止這些已經足夠了:名字、主人、種類,性別、出生和死亡日期。

使用一個CREATE TABLE語句指定你的數據庫表的布局:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

VARCHAR適合于name、owner和species列,因為列值是變長的。這些列的長度不必都相同,而且不必是20。你可以挑選從1到65535的任何長度,從中選擇一個最合理的值。(如果選擇得不合適,后來證明你需要一個更長的字段,MySQL提供一個ALTER TABLE語句。)

可以用多種類型的值來表示動物記錄中的性別,例如,'m'和'f',或'male'和'female'。使用單字符'm'和'f'是最簡單的方法。

很顯然,birth和death列應選用DATE數據類。

創建了數據庫表后,SHOW TABLES應該產生一些輸出:

mysql> SHOW TABLES; +---------------------+| Tables in menagerie |+---------------------+| pet |+---------------------+

為了驗證你的表是按你期望的方式創建,使用一個DESCRIBE語句:

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| name | varchar(20) | YES | | NULL | || owner | varchar(20) | YES | | NULL | || species | varchar(20) | YES | | NULL | || sex | char(1) | YES | | NULL | || birth | date| YES | | NULL | || death | date| YES | | NULL | |+---------+-------------+------+-----+---------+-------+你可以隨時使用DESCRIBE,例如,如果你忘記表中的列的名稱或類型時。

2.將數據裝入表中

創建表后,需要填入內容。通過LOAD DATA和INSERT語句可以完成該任務。

假定你的寵物紀錄描述如下。(假定在MySQL中期望的日期格式是YYYY-MM-DD;這可能與你習慣的不同。)

nameownerspeciessexbirthdeathFluffyHaroldcatf1993-02-04ClawsGwencatm1994-03-17BuffyHarolddogf1989-05-13FangBennydogm1990-08-27BowserDianedogm1979-08-311995-07-29ChirpyGwenbirdf1998-09-11WhistlerGwenbird1997-12-09SlimBennysnakem1996-04-29

因為你是從一個空表開始的,填充它的一個簡易方法是創建一個文本文件,每個動物各一行,然后用一個語句將文件的內容裝載到表中。

你可以創建一個文本文件“pet.txt”,每行包含一個記錄,用定位符(tab)把值分開,并且以CREATE TABLE語句中列出的列次序給出。對于丟失的值(例如未知的性別,或仍然活著的動物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內容,使用N(反斜線,字母N)。例如,Whistler鳥的記錄應為(這里值之間的空白是一個定位符):

nameownerspeciessexbirthdeathWhistlerGwenbirdN1997-12-09N

要想將文本文件“pet.txt”裝載到pet表中,使用這個命令:

mysql> LOAD DATA LOCAL INFILE ’/path/pet.txt’ INTO TABLE pet;

請注意如果用Windows中的編輯器(使用rn做為行的結束符)創建文件,應使用:

mysql> LOAD DATA LOCAL INFILE ’/path/pet.txt’ INTO TABLE pet -> LINES TERMINATED BY ’rn’;

(在運行OS X的Apple機上,應使用行結束符’r’。)

如果你愿意,你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。這對讀入文件“pet.txt”的語句已經足夠。

如果該語句失敗,可能是你安裝的MySQL不與使用默認值的本地文件兼容。

如果想要一次增加一個新記錄,可以使用INSERT語句。最簡單的形式是,提供每一列的值,其順序與CREATE TABLE語句中列的順序相同。假定Diane把一只新倉鼠命名為Puffball,你可以使用下面的INSERT語句添加一條新記錄:

mysql> INSERT INTO pet -> VALUES (’Puffball’,’Diane’,’hamster’,’f’,’1999-03-30’,NULL);

注意,這里字符串和日期值均為引號擴起來的字符串。另外,可以直接用INSERT語句插入NULL代表不存在的值。不能使用LOAD DATA中所示的的N。

從這個例子,你應該能看到涉及很多的鍵入用多個INSERT語句而非單個LOAD DATA語句裝載你的初始記錄。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 不锈钢水箱厂家,不锈钢保温水箱-山东桑特供水设备| 浙江富广阀门有限公司 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 亮点云建站-网站建设制作平台| 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 |