2021年SQL数据库中的增删改查总结1_第1页
2021年SQL数据库中的增删改查总结1_第2页
2021年SQL数据库中的增删改查总结1_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、sql数据库中的增删改查总结1一、增有2种方法使用insert插入单行数据语法insertinto列名values例insertintostrdents(姓名,性别,出生日期)values(邢金聪,男,1990/6/15)注意如果省略表名,将依次插入所有列使用insert,select语句将现有表中的数据添加到已有的新表中语法insertintoselectfrom例insertintoaddresslist(姓名,地址,电子邮件)selectname,address,emailfromstrdents注意查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致二、删有中方法使用delet

2、e删除数据某些数据语法deletefromwhere例deletefromawherename=邢金聪(删除表a中列值为邢金聪的行)注意删除整行不是删除单个字段,所以在delete后面不能出现字段名使用truncatetable删除整个表的数据语法truncatetable例truncatetableaddresslist注意删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建约束引用的表三、改使用update更新修改数据语法updatesetwhere例truncatetableaddresslist注意删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建

3、约束引用的表四、查普通查询语法selectfromwhereorderbyasc或desc1).查询所有数据行和列例select*froma说明查询a表中所有行和2).查询部分行列-条件查询例selecti,j,kfromawheref=5说明查询表a中f=5的所有行,并显示i,j,k列3).在查询中使用更改列名例selectnameas姓名fromawheregender=男说明查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示4).查询空行例selectnamefromawheree-mailisnull说明查询表a中e-mail为空的所有行,并显示name列;s

4、ql语句中用isnull或者isnotnull来判断是否为空行5).在查询中使用常量例selectname廊坊as地址froma说明查询表a,显示name列,并添加地址列,其列值都为廊坊6).查询返回限制行数(关键字top)例selecttop6namefroma说明查询表a,显示列name的前行,top为关键字(oracle中没有top关键字用rownum替代)select*fromawhererownum=60分组查询orderbydesc说明查询表中成绩大于等于60的所有行,并按降序显示name列;默认为升序.模糊查询1).使用like进行模糊查询注意like运算符只用语字符串,多表例s

5、elect*fromawherenamelike赵%说明查询显示表a中,n(参考)ame字段第一个字为赵的记录2).使用between在某个范围内进行查询例select*fromawhereagebetween18and20说明查询显示表a中年龄在18到20之间的记录3).使用in在列举数值内进行查询(in后是多个的数据)例selectnamefromawhereaddressin(廊坊,石家庄,唐山)说明查询表a中address值为廊坊或者石家庄或者唐山的记录,显示name字段.分组查询1).使用groupby进行分组查询例selectstudentidas学员编号,avg(score)as

6、平均成绩(注释:这里的score是列名)fromscore(注释:这里的score是表名)groupbystudentid2).使用having子句进行分组筛选例selectstudentidas学员编号,avgfromscoregroupbystudentidhavingcount(score)1说明接上面例子,显示分组后count(score)1的行,由于where只能在没有分组时使用,分组后只能使用having来限制条件,.多表联接查询1).内联接在where子句中指定联接条件例,b.markfroma,=说明查询表a和表b中n

7、ame字段相等的记录,并显示表a中的name字段和表b中的mark字段点击此链接可以查看大图点击此链接可以下载mindmanager原图扩展阅读数据库语句增删改查mysql语句用法,添加、修改、删除字段一,连接mysql二,mysql管理与授权三,数据库简单操作四,数据库备份五,后记一,连接mysql格式mysql-h远程主机地址-u用户名-p回车输入密码进入mysql-uroot-p回车enterpassword:,输入密码就可以进入mysql进入了退出命令:exit或者ctrl+d二,mysql管理与授权修改密码格式mysqladmin-u用户名-p旧密码password新密码增加新用户:

8、grantcreate,select,update.(授予相关的操作权限)-on数据库.*-to用户名登录主机identifiedby密码操作实例给root用户添加密码:#mysqladmin-urootpassword52netseek因为开始root没有密码,所以-p旧密码一项可以省略.登陆测试#mysql-uroot-p回车输入密码,成功登陆.将原有的mysql管理登陆密码52netseek改为52china.#mysqladmin-uroot-p52netseekpassword52china创建数据库添加用户并授予相应的权限:mysqlcreatedatabasephpbb;quer

9、yok,1rowaffected(0.02sec)mysqlusephpbb;databasechangedmysqlgrantcreate,select,update,insert,delete,alter-onphpbb.*-tophpbbrootlocalhostidentifiedby52netseek;queryok,0rowsaffected(0.00sec)授予所有的权限:grantallprivilegesonbbs.*tobbsrootlocalhostidentifiedby52netseek回收权限revokecreate,select,update,insert,del

10、ete,alteronphpbb.*fromphpbbrootlocalhostidentifiedby52netseek;完全将phpbbroot这个用户删除:usemysqldeletefromuserwhereuser=phpbbrootandhost=localhost;flushprivileges;刷新数据库三,数据库简单操作显示数据库列表:showdatabases;mysqltest使其成为当前操作数据库usemysql;打开数据库.showtables;显示mysql数据库中的数据表.显示数据表的表结构:describe表名;describeuser;显示user表的表结构创

11、建数据库,建表createdatabase数据库名;use数据库名;createtable表名(字段设定列表)删除数据库,册除表dropdatabase数据库名;droptable表名;显示表中的记录;select*from表名;修改数据库结构:增加字段altertabledbnameaddcolumn修改字段altertabledbnamechange删除字段:altertabledbnamedropcolumn实例操作createdatabaseoffice;useoffice;mysqlcreatetablepersonal(-member_nochar(5)notnull,-namec

12、har(,-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

13、)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数据库学习笔记。insertintopersonalva

14、lues(006,xinxin,1985-03-15,75);mysqlselect*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的字

15、段,数据类型为tinyint.将字段exam_score改名为scores,数据类型不变altertablepersonal-addcolumnheighttinyintafterbirthday,-changecolumnexam_scorescorestinyint;mysqlselect*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

16、-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;册除数据库中的表:mysqldropta

17、bleifexistspersonal;三,数据库的导入与导出导出使用selectintooutfilefilename语句使用mysqldump实用程序使用selectintooutfilefilename语句只能处理单个表,输出文件只有数据,没有表结构我们要将office,其中有一个表为personal,现在要把personal卸成文本文件out.txt:useoffice;select*frompersonalintooutfileout.txt;可以看在/var/lib/mysql/office/目录下有out.txtselect*frompersonalintooutfile;可以看

18、在out.txt在/var/lib/mysql/目录下用out.txt使用mysqldump实用程序(可以轻松处理多个表)#cd/var/lib/mysql导出建立相关表的建表命令和插入指令#mysqldumpbbsbbs.sql将数据库bbs导入到bbs.sql中如果要将bbs.sql导入数据库可以使用:mysqlcreatedatabasebbstest;先建立一个名为office的数据库.#mysqlbbstestbbscreate.sql只想导出插入数据的sql指令#mysqldump-tbbsbbsinsert.sql同时导出数据库中建表指令和表中的数据#mysqldump-其中表示

19、当前目录,cdb_admingroups为bbs数据库其中的一个表)#lscdb_admingroups.sql导出了建表指令cdb_admingroups.txt导出了表中的数据导入从文件中加载数据库:mysqlloaddatainfile/tmp/name.txtintotablenames;mysqlselect*fromnames;四,数据库备份手动拷贝备份:mysql数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.rootlinuxheromysql#lsrootlinuxheromysql#servciemysqld

20、stop先停止数据库bbsmysqlmysql.sockphpbbtestoffice显示其中的数据库.如果我们要将现在的数据库目录备份为mysql.bak.rootlinuxherolib#cp-rfmysqlmysql.bak如果数据库遭到了破坏,现在要将数据库恢复rootlinuxherolib#cp-rfmysql.bak/*mysql恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变mysql数据库的用户读写权限。所以我们得启动和运行mysql,并登陆数据库:rootlinuxherolib#/etc/init.d/mysqldstartroot

21、linuxherolib#mysql您正在看的mysql教程是:mysql数据库学习笔记。-uroot-penterpassword:输入密码成功登陆.mysqlshowdatabses;利用mysqldump来备份数据库rootlinuxheromysql#mysqldump-optbbs-uroot-pbbs.sqlenterpassword:注:-opt添加备份的其它选项,bb为其中一个数据库名,上面的意思是使用重定向输出将备份写入到文件bb.sql中.rootlinuxheromysql#lessbbs.sql如果要恢复bb这个数据库,则进行如下操作:rootlinuxheromysq

22、l#mysqlbbs-uroot-pmysql.bakenetrpassword:输入密码即可恢复所有数据库,不用输入数据库的名字:rootlinuxheromysql#mysql-uroot-pmysql.bakenetrpassword:输入密码即可五,后记:mysql数据库个人学习笔记,这是我个人学习过程中的一个简单的总结,这些都是常用的,希望对于希望学习mysql的朋友有所帮助,如果有什么不对或者不妥的地方请多多指教,欢迎大家与我交流学习linux相关的知识常用链接我的随笔我的评论我的参与最新评论我的标签我的标签redmine2安装ruby7rubygem2(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)di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论