公文素材库 首页

SQL数据库中的增删改查总结1

时间:2019-05-29 07:09:00 网站:公文素材库

SQL数据库中的增删改查总结1

一、增:有2种方法

1.使用insert插入单行数据:

语法:insert[into]<表名>[列名]values<列值>

例:insertintoStrdents(姓名,性别,出生日期)values("邢金聪","男","1990/6/15")

注意:如果省略表名,将依次插入所有列

2.使用insert,select语句将现有表中的数据添加到已有的新表中

语法:insertinto<已有的新表><列名>select<原表列名>from<原表名>

例:insertintoaddressList("姓名","地址","电子邮件")selectname,address,email

fromStrdents

注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

二、删:有2中方法

1.使用delete删除数据某些数据

语法:deletefrom<表名>[where<删除条件>]

例:deletefromawherename="邢金聪"(删除表a中列值为邢金聪的行)

注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

2.使用truncatetable删除整个表的数据

语法:truncatetable<表名>

例:truncatetableaddressList

注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

用于有外建约束引用的表

三、改

使用update更新修改数据

语法:update<表名>set<列名=更新值>[where<更新条件>]

例:truncatetableaddressList

注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

用于有外建约束引用的表

四、查

1.普通查询

语法:select<列名>from<表名>[where<查询条件表达试>][orderby<排序的列

名>[asc或desc]]

1).查询所有数据行和列

例:select*froma

说明:查询a表中所有行和

2).查询部分行列--条件查询

例:selecti,j,kfromawheref=5

说明:查询表a中f=5的所有行,并显示i,j,k3列

3).在查询中使用AS更改列名

例:selectnameas姓名fromawheregender="男"

说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

4).查询空行

例:selectnamefromawheree-mailisnull

说明:查询表a中e-mail为空的所有行,并显示name列;SQL语句中用isnull或者isnotnull

来判断是否为空行

5).在查询中使用常量

例:selectname"廊坊"as地址froma

说明:查询表a,显示name列,并添加地址列,其列值都为"廊坊"

6).查询返回限制行数(关键字:top)

例1:selecttop6namefroma

说明:查询表a,显示列name的前6行,top为关键字(oracle中没有top关键字

用rownum替代)

select*fromawhererownum<6

7).查询排序(关键字:orderby,asc,desc)

例:selectname

froma

wheregrade>=60分组查询

orderbydesc

说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

2.模糊查询

1).使用like进行模糊查询

注意:like运算符只用语字符串,多表

例:select*fromawherenamelike"赵%"

说明:查询显示表a中,n(参考:)ame字段第一个字为赵的记录

2).使用between在某个范围内进行查询

例:select*fromawhereagebetween18and20

说明:查询显示表a中年龄在18到20之间的记录

3).使用in在列举数值内进行查询(in后是多个的数据)

例:selectnamefromawhereaddressin("廊坊","石家庄","唐山")

说明:查询表a中address值为廊坊或者石家庄或者唐山的记录,显示name字段

3.分组查询

1).使用groupby进行分组查询

例:selectstudentIDas学员编号,AVG(score)as平均成绩(注释:这里的score是列名)

fromscore(注释:这里的score是表名)

groupbystudentID

2).使用having子句进行分组筛选

例:selectstudentIDas学员编号,AVG

fromscore

groupbystudentID

havingcount(score)>1

说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组

时使用,分组后只能使用having来限制条件,

4.多表联接查询

1).内联接

①在where子句中指定联接条件

例:selecta.name,b.mark

froma,b

wherea.name=b.name

说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

mark字段

点击此链接可以查看大图

点击此链接可以下载mindmanager原图

扩展阅读:数据库语句增删改查

mysql语句用法,添加、修改、删除字段

一,连接MySQL二,MySQL管理与授权三,数据库简单操作四,数据库备份五,后记

一,连接MySQL

格式:mysql-h远程主机地址-u用户名-p回车输入密码进入:

mysql-uroot-p回车

Enterpassword:,输入密码就可以进入mysql>进入了

退出命令:>exit或者ctrl+D

二,MySQL管理与授权1.修改密码:格式:mysqladmin-u用户名-p旧密码password新密码

2.增加新用户:

>grantcreate,select,update....(授予相关的操作权限)->on数据库.*

->to用户名@登录主机identifiedby"密码"

操作实例:

给root用户添加密码:

#mysqladmin-urootpassword52netseek

因为开始root没有密码,所以-p旧密码一项可以省略.登陆测试:

#mysql-uroot-p回车输入密码,成功登陆.

将原有的mysql管理登陆密码52netseek改为52china.#mysqladmin-uroot-p52netseekpassword"52china"

创建数据库添加用户并授予相应的权限:mysql>createdatabasephpbb;QueryOK,1rowaffected(0.02sec)mysql>usephpbb;Databasechanged

mysql>grantcreate,select,update,insert,delete,alter->onphpbb.*

->tophpbbroot@localhostidentifiedby"52netseek";QueryOK,0rowsaffected(0.00sec)

授予所有的权限:>grantallprivileges>onbbs.*

>tobbsroot@localhostidentifiedby"52netseek"

回收权限:

revokecreate,select,update,insert,delete,alteronphpbb.*

fromphpbbroot@localhostidentifiedby"52netseek";

完全将phpbbroot这个用户删除:>usemysql>deletefromuser

whereuser="phpbbroot"andhost="localhost";>flushprivileges;刷新数据库

三,数据库简单操作1.显示数据库列表:>showdatabases;mysqltest

2.使其成为当前操作数据库>usemysql;打开数据库.

>showtables;显示mysql数据库中的数据表.3.显示数据表的表结构:>describe表名;

>describeuser;显示user表的表结构:4.创建数据库,建表

>createdatabase数据库名;>use数据库名;

>createtable表名(字段设定列表)5.删除数据库,册除表>dropdatabase数据库名;>droptable表名;6.显示表中的记录;select*from表名;7.修改数据库结构:增加字段:

altertabledbnameaddcolumn修改字段:

altertabledbnamechange删除字段:

altertabledbnamedropcolumn

实例操作:

>createdatabaseoffice;>useoffice;

mysql>createtablepersonal(->member_nochar(5)notnull,->namechar(,->birthdaydate,->exam_scoretinyint,->primarykey(member_no)->);

QueryOK,0rowsaffected(0.01sec)>descpersonal;显示表结构:

+------------+------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|

+------------+------------+------+-----+---------+-------+|member_no|char(5)||PRI||||name|char(|YES||NULL|||birthday|date|YES||NULL|||exam_score|tinyint(4)|YES||NULL||

+------------+------------+------+-----+---------+-------+4rowsinset(0.00sec)

insertintopersonalvalues("001","netseek","1983-03-15","95");insertintopersonalvalues("002","heihei","1982-02-24","90");insertintopersonalvalues("003","gogo","1985-05-21","85");insertintopersonalvalues("004","haha","1984-02-25","84");insertintopersonalvalues("005","linlin","1982-04-28","85");

您正在看的MySQL教程是:MySQL数据库学习笔记。insertintopersonalvalues("006","xinxin","1985-03-15","75");

mysql>select*frompersonal;

+-----------+---------+------------+------------+|member_no|name|birthday|exam_score|+-----------+---------+------------+------------+|001|netseek|1983-03-15|95||002|heihei|1982-02-24|90||003|gogo|1985-05-21|85||004|haha|1984-02-25|84||005|linlin|1982-04-28|85||006|xinxin|1985-03-15|75|

+-----------+---------+------------+------------+

修改数据库表:

要求:在birthday这后增加一个为height的字段,数据类型为tinyint.将字段exam_score改名为scores,数据类型不变>altertablepersonal

->addcolumnheighttinyintafterbirthday,->changecolumnexam_scorescorestinyint;

mysql>select*frompersonal;

+-----------+---------+------------+--------+--------+|member_no|name|birthday|height|scores|+-----------+---------+------------+--------+--------+|001|netseek|1983-03-15|NULL|95||002|heihei|1982-02-24|NULL|90||003|gogo|1985-05-21|NULL|85||004|haha|1984-02-25|NULL|84||005|linlin|1982-04-28|NULL|85||006|xinxin|1985-03-15|NULL|75|

+-----------+---------+------------+--------+--------+

给表中插入数据:

>updatepersonalsetscores=95+5wherename="netseek";>selectscoresfrompersonalwherename="netseek";+--------+|scores|+--------+|100|+--------+

删除表名字为"gogo"所有的信息中的的:>deletefrompersonalwherename="gogo";

册除数据库中的表:

mysql>droptableifexistspersonal;

三,数据库的导入与导出导出:

使用selectintooutfile"filename"语句使用mysqldump实用程序

使用selectintooutfile"filename"语句

1.只能处理单个表,输出文件只有数据,没有表结构

我们要将office,其中有一个表为personal,现在要把personal卸成文本文件out.txt:>useoffice;

>select*frompersonalintooutfile"out.txt";可以看在/var/lib/mysql/office/目录下有out.txt

select*frompersonalintooutfile"./out.txt";可以看在out.txt在/var/lib/mysql/目录下用out.txt

2.使用mysqldump实用程序(可以轻松处理多个表)#cd/var/lib/mysql导出建立相关表的建表命令和插入指令

#mysqldumpbbs>bbs.sql将数据库bbs导入到bbs.sql中

如果要将bbs.sql导入数据库可以使用:

mysql>createdatabasebbstest;先建立一个名为office的数据库.#mysqlbbstestbbscreate.sql只想导出插入数据的sql指令:#mysqldump-tbbs>bbsinsert.sql同时导出数据库中建表指令和表中的数据:

#mysqldump-T./bbscdb_admingroups(其中./表示当前目录,cdb_admingroups为bbs数据库其中的一个表)#ls

cdb_admingroups.sql导出了建表指令cdb_admingroups.txt导出了表中的数据导入:

从文件中加载数据库:

mysql>loaddatainfile"/tmp/name.txt"intotablenames;mysql>select*fromnames;

四,数据库备份

1.手动拷贝备份:

MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.[root@linuxheromysql]#ls

[root@linuxheromysql]#servciemysqldstop先停止数据库bbsmysqlmysql.sockphpbbtestoffice显示其中的数据库.

如果我们要将现在的数据库目录备份为mysql.bak.[root@linuxherolib]#cp-rfmysqlmysql.bak如果数据库遭到了破坏,现在要将数据库恢复:[root@linuxherolib]#cp-rfmysql.bak/*mysql

恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变MySQL数据库的用户读写权限。所以我们得启动和运行mysql,并登陆数据库:[root@linuxherolib]#/etc/init.d/mysqldstart[root@linuxherolib]#mysql

您正在看的MySQL教程是:MySQL数据库学习笔记。-uroot-pEnterpassword:输入密码成功登陆.mysql>showdatabses;2.利用mysqldump来备份数据库

[root@linuxheromysql]#mysqldump--optbbs-uroot-p>bbs.sqlEnterpassword:

注:--opt添加备份的其它选项,bb为其中一个数据库名,上面的意思是:使用重定向输出将备份写入到文件bb.sql中.[root@linuxheromysql]#lessbbs.sql

如果要恢复bb这个数据库,则进行如下操作:

[root@linuxheromysql]#mysqlbbs-uroot-p

如果要备份所有数据库:

[root@linuxheromysql]#mysqldump--opt--all-databases-uroot-p>mysql.bak

Enetrpassword:输入密码即可

恢复所有数据库,不用输入数据库的名字:

[root@linuxheromysql]#mysql-uroot-p

MySQL数据库个人学习笔记,这是我个人学习过程中的一个简单的总结,这些都是常用的,希望对于希望学习mysql的朋友有所帮助,如果有什么不对或者不妥的地方请多多指教,欢迎大家与我交流学习Linux相关的知识

常用链接

我的随笔我的评论我的参与最新评论我的标签

我的标签

redmine1.2.2安装ruby1.8.7rubygem1.6.2(5)eclipse(3)

htmlcssjavascriptjqueryeasyui(3)tomcat安装和配置(2)xhEditor(1)HTML5(1)jdk配置(1)ogre(1)

php安装和配置(1)serv-u安装配置(1)更多

随笔分类(44)

ant(1)cc++

Coldfusion(6)discuz(3)easyUIhtml(1)

innosetup(2)java(2)

javascript(4)jquery(2)mysql(8)Ogre(1)

rubyredmine(4)struts2(3)study(2)tomcat(1)web(4)

随笔档案(61)

201*年7月(2)201*年5月(8)201*年4月(5)201*年3月(28)201*年2月(9)201*年12月(9)

mysql下载最新评论

1.Re:Mysql安装配置@李琳Mike

我说的是服务端,没考虑客户端,不过应该也是UTF-8吧。--_安静

2.Re:Mysql安装配置

default-character-set=gbk

我一般会选择UTF-8gbk的效果并不是十分理想有时候还是会出现乱码的情况~--李琳Mike

阅读排行榜

1.redmine-1.2.2安装截图粘贴插件(7323)2.redmine-1.2.2安装代码评审插件(6070)3.redmine-1.2.2安装服务(附图)(5736)4.redmine-1.2.2配置邮件通知(5409)5.web绿色环境搭建(4880)

评论排行榜

1.Mysql安装配置(2)

2.redmine-1.2.2安装截图粘贴插件(0)3.redmine-1.2.2安装代码评审插件(0)4.redmine-1.2.2配置邮件通知(0)5.redmine-1.2.2安装服务(附图)(0)

推荐排行榜

1.web绿色环境搭建(2)2.tomcat配置文件web.xml与server.xml解析--重要(2)3.mysqldump常用备份选项,只备份数据或结构的方法(2)4.Mysql安装配置(2)

5.redmine-1.2.2安装截图粘贴插件(1)

Poweredby:博客园Copyright_安静

友情提示:本文中关于《SQL数据库中的增删改查总结1》给出的范例仅供您参考拓展思维使用,SQL数据库中的增删改查总结1:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


SQL数据库中的增删改查总结1
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/672278.html
相关阅读
最近更新
推荐专题