这tutoriald着重于如何添加,修改和删除数据,从数据表中的数据库采用SQL数据操纵语言。 如果没有这方面的知识,我们就不会真正有使用一个数据库,它只是一个静态实体,没有任何意义。
让我们首先创建了一个数据库,并表工作,与在本教程。 我们的数据库中,将名为dmlexample ,让我们一起创造,现在与特声明如下:
MySQL的> "创建数据库dmlexample ;
曾经创造了,我们需要指定我们希望使用新的数据库,由执行这项声明:
MySQL的>使用dmlexample ;
控制台现在应该告诉我们,该数据库已经改变;
|
|
现在,我们有我们的资料库成立后,让我们创建一个表进行试验,所谓sampletable 。 此表将包含以下领域:用户名,密码,年龄,电子邮件,及日期的进入创造。
我们便可以创造我们的表与下列ddl声明:
MySQL的> "创建表sampletable ( -> "用户名文本- >"密码文本中, - > "时代的诠释, -> "电子邮件文本-> "d at e c reated时间戳);
现在,我们有我们的表创造了,让我们看看我们如何去增加行(记录)的信息而为。 加上行到表,我们需要使用insert指挥。 这里是我们如何将加入一项单列我们sampletable 。
MySQL中>插入到sampletable价值观-> " ( '安德鲁' , '键盘' , 2 0' a ndrew@dreamcircle.co.uk' ,无效)
公告如何反馈从控制台告诉我们,一排也没有受到影响。 因此,我们增加了一排向我们sampletable就座。
我们便可以使用命令所谓选择,查看数据库中的表。 我们将进入更详细了解了这个命令后,在这tutotial ,因为这是很重要的,但现在,我们将只用它盲目。 让我们来看看什么数据,是我们dmlexample表:
MySQL的> "选择*从sampletable ;
| 注 | 公告如何datecreated实地反映了时间和日期的时候,我们加开行到表。 这是因为我们指定无效时,我们说:行,这样做会令戳场抓斗当前的日期和时间,从系统的默认。 |
同时我们也可能增加几个排的数据放置在一个单一的指挥。 让我们试试这个,现在加入另三排,以表我们在一个单一插入指挥。 这是通过如下的方法来做:
MySQL中>插入到sampletable价值观-> " ( '格伦' , ' g imboid' , 2 1' g lenn@chopsewage.com' ,无效) , - >" ( '吉姆', ' l e tmein', 2 3 'j i m@email.net' ,空值) , -> " ( '饮水和环境卫生' , ' o pensesame' , 3 1' w es@email.net' ,无效) ;
你可以看到,这时候,反馈从控制台显示,三排已经受到影响,因此,我们增加了三排,我们就座。 我们可以证明这一点,再以选择命令:
MySQL的> "选择*从sampletable ;
当这是被处决,您现在可以看到,该表包含了四个行(或记录,如果你喜欢)的信息。
现在我们已经知道如何添加数据,以一张桌子,让我们看看我们如何去修改现有表数据。
修改数据的一个表,我们需要使用更新指挥。 首先是试图改变所有的密码,也就是在所有的行表中,以" changeme " 。 这可以完成与特声明如下:
MySQL中>更新sampletable设定密码= ' changeme ' ;
| 谨慎 | 更新指挥(以及所有的SQL命令) ,是相当强大。 鲁莽使用,你可以摧毁大量的数据提出一个简单的错误。 几乎每一个疑问,应该有至少一个地方的情况。 |
当我们执行这项声明,控制台会通知我们说, 4个排已经受到影响,因为我们已经改变了密码,为每列在该表。
现在,我们就可以看到效果摆在桌面上用专责指挥,具体情况如下:
myql > "选择*从sampletable ;
一个明显的,现在的问题是,如果我只想要更新的单行? 让我们说,我们想改变格伦的密码changeme回到gimboid 。 我们会用以下声明要做到这一点:
MySQL中>更新sampletable设定密码= ' gimboid '这里USERNAME = '格伦' ;
当我们执行这个命令在控制台,它告诉我们,一排也没有受到影响。 这是因为,它只会更新密码栏,如果用户名外地等于格伦。 如果我们用专责指挥放在桌上,现在,我们可以看到,只有格伦的密码变了。
我们也可以运用这种技术,使我们能够更新,只有某些领域的合作。 举例来说,我们可以改变一切密码的人是30岁或更年轻。 这里是指挥,我们将要求要做到这一点:
MySQL中>更新sampletable设定密码= '年轻' ,年龄< = 30
当我们执行这个命令,它会告诉我们,三排已经受到影响,因为3个纪录在我们的桌上有一个年龄小于或等于30 。
| 秘诀 | 一个有用的想法是,以更新戳场与NULL 。 这将检索最新的时间,由系统数据库是运行(即,实际使用会注意到,最后一次球员登录) 。 |
去除数据从一个表是做了一个非常类似的方式来更新数据。 首先,我们将看看如何删除单行的数据。 我们现在删除格伦从数据库中使用以下声明:
MySQL的> "删除从sampletable这里USERNAME = '格伦' ;
当我们执行这个命令, MySQL的控制台客户端会通知我们,一排是受(即删除) 。
再次,作为与更新报表,我们可以指定条件,以使我们能够删除,例如,每个人都与一个年龄不到30 。 让我们这样做,现在有了以下声明:
MySQL的> "删除从sampletable凡年龄< 30 ;
当我们执行这项声明,客户端会通知我们说,两排已经受到影响,或在此情况下,删除了。 如果我们现在使用的专责指挥,我们的表,我们会看到,只有一排,是留在桌上。
最后,它也有可能删除所有的行从一个表在一个单一的声明。 所有我们需要做的是没有指明任何条件,因为我们做的时候,我们所有更新密码字段changeme 。 这里是声明删除所有的行,在一个表(即空表) 。
MySQL的> "删除从sampletable ;
正如你所看到的,表现载有没有这方面的资料。
直至目前为止,我们已简单地用下面的命令来显示所有的数据,在我国sampletable表:
MySQL的> "选择*从sampletable ;
其实,这是取所有领域,从sampletable表并返还他们。 *是一个外卡,这意味着,基本上它代表着什么(或在这种情况下,任何领域) 。
以前我们进入专责声明进一步,让我们先放入一些数据进行试验,融入我们的sampletable就座。 使用以下声明中插入一些数据:
MySQL中>插入到sampletable价值观-> " ( '安德鲁' , '键盘' , 2 0' a ndrew@dreamcircle.co.uk' ,无效) , - >" ( '安德鲁', ' l e tmein', 2 7 '安德鲁@邮件。净' ,无效) , -> " ( '乔治' , '纸' , 1 9' g eorge@email.net' ,无效) , - >" ( '珍妮', ' j e n999', 2 7 'j e n@email.net' ,空值) , -> " ( '桑德拉' , ' s dra2' , 2 7' s andra@email.net' ,无效) ;
现在,我们已经加入我们的数据到表时,如果使用专责声明与通配符( * ) ,因为我们在做之前,它会检索和显示的所有资料,从表到控制台。 让我们试试这个,现在与以下声明。
MySQL的> "选择*从sampletable ;
你可以看到,该声明文字的所有资料,从表(即,所有的行和所有的栏目中所载的每一项行) 。
让我们说,所有我们想要的是找回密码栏。 让所有的密码,从sampletable表中,我们会用以下声明:
MySQL的> "选择密码由sampletable ;
公告如何,我们简单地取代通配符( * )的同栏,我们希望取回。 我们也可以检索多个栏目,用一个逗号划定。 让我们尝试以选出用户名栏和密码栏只。 这里是声明,我们需要为这样的:
MySQL的> "选择用户名,密码,从sampletable ;
当我们执行这个声明,我们可以看到,在控制台,只有用户名和密码等领域得到了选拔,从表。
现在我们已经知道了如何取回个别领域,从表格中,我们如何找回单列? 我们可以轻易申请条件,以一个专责声明,正如我们在做的时候,我们正在更新表,并删除从表。 采用有条件选择声明中,让我们不仅展示詹妮的资料,从资料库中。 这里是声明,我们需要为这样的:
MySQL的> "选择*从sampletable这里USERNAME = '珍妮' ;
当我们执行这项声明中,只有詹妮的详细资料将显示在MySQL客户端控制台。
我们也可以把想法选择特定领域的合作。 一个实际的例子,这将是找出密码,那就是关乎到一个用户名。 这里是我们如何得到密码属于乔治:
MySQL的> "选择密码由sampletable这里USERNAME = '乔治' ;
当我们执行这个声明,我们可以看到,只有一个单一的现场展示,这正好是乔治的密码。
| 注 | 当我们指明特定领域,因为在这个例子中,我们不仅限于领域,我们选择用where语句。 |
在我们的样本数据,有两排与用户安德鲁。 如果我们试图用一个有条件的声明,以获得密码,郑家富,我们会在事实上获得两个密码,而每安德鲁进入数据库。 让我们试试这个,现在只为证明。 以下是声明中表示,我们需要:
MySQL的> "选择密码由sampletable这里USERNAME = '安德鲁' ;
当我们执行这个声明,我们可以看到,我们有两个密码显示在控制台。
| 注 | 重复的,可以将其带出的结果,用鲜明的选择。 例如:选择独特的用户从sampletable 。 |
让我们来看看如何指挥一样,可以帮助我们找到的资料,我们所需要的。 用的是一样的理想,为寻找弦乐团在数据库中,特别是如果你只是有部分的完整的字符串(即,对于一个搜索引擎) 。 比如,我们不妨说,我们希望找到在数据库中的名字开始与信j. 要做到这一点,我们需要声明如下:
MySQL的> "选择*从sampletable这里USERNAME像符' J % ' ;
公告这里如何詹妮是名词,因为她的用户名是唯一的一个开始与j. 该%是一个通配符,当使用一样,因此,如果我们使用了以下的声明,而是:
MySQL的> "选择*从sampletable这里USERNAME像' % j % ' ;
...信j可以随时随地出现在弦。 另外,请注意您可以有多于一个单独的字符:
MySQL的> "选择*从sampletable这里USERNAME像' % nny ' ;
这将取出所有的人的名字为此目的与文本" nny " 。 最后,如果我们采用了以下声明:
选择*从sampletable这里USERNAME像' % nny % ' ;
… …它会取出所有的行含有" nny " ,在他们的名字,但名字已结束与"某" 。
Online: 856 users browsing the articles directory
|
|