Mysql数据库学习总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Mysql数据库学习总结数据库的基本操作:创建删除查看Createdatabaseschool;用于创建数据库,并且数据库的名字不可以更改Showcreatedatabase;showdatabases;用来查看创建数据库的语句Dropdatabase;用于删除数据库表的基本操作:Createtable;用于创建表,table后面加表名称Createtablestudent{Idint;Namevarchar(10);SexBoolean;}Showtables;用于显示数据库中的所有表Describestudent;这里显示了字段、数据类型、是否为空、主外键、默认值和额外信息Showcreatetable;显示创建表时的详细信息Droptablestudent;删除表的操作完整性约束是对字段进行限制,从而该字段达到我们期望的效果设置表的主键:主键能够标识表中的每条信息的唯一性。(primarykey)创建主键的目的在于快速查找到表中的某一条信息多字段主键:由多个属性组合而成例如:primarykey(id,course_id);设置表的外键;设置表的外键的作用在于建立与父表的联系比如表A中的id是外键,表B中的id是主键那么就可以称表B为父表,表A为子表比如表B中id为123的学生删除后,表A中id为123的记录也随着消失这样做的目的在于保证表的完整性。设置表的非空约束:设置表中的字段不为空设置表的唯一性约束唯一性约束指表中该字段的值不能重复出现,也就是给表中某个字段加上unique设置表的属性值自动增加:auto_increment主要用于为表中插入的新纪录自动生成唯一ID一个表中只能由一个字段使用此约束,并且该字段必须为主键的一部分,约束的值ibixu是整型值。设置表中属性的默认值在表中插入一体哦新的记录时,如果没有为该字段赋值,那么数据库系统就会为该字段附上一条默认值。修改表修改表需要用到altertable修改表名:Altertablestudentrenameperson;Rename用来命名修改字段的数据类型Altertablepersonmodifynamevarchar(20);将原来的varchar(xx)修改为vaarchar(20)修改字段名Altertablepersonchangestu_namenamevarchar(25)这里的stu_name是原名,name是新名,不管修不修改数据类型,后面的数据类型都要写增加无完整性约束条件的字段AltertablepersonaddsexBoolean;此处的sex后面值跟了数据类型,而没有完整性约束条件增加完整性约束体条件的字段Altertablepersonaddageintnotnull;增加了一条age字段,接着在后面加上了约束条件增加额外的完整性约束条件Altertablepersonaddprimarykeyfirst;这样同样也用于多字段设置在表头添加字段Altertablepersonaddnumintprimarykeyfirst;默认情况下添加到表尾,在添加语句后面加上first节能添加到表头在指定位置添加字段Altertablepersonaddbirthdateaftername;这里添加一条新字段在name后面删除字段Altertablepersondropsex;修改字段到第一个位置Altetablepersonmodifyidintfirst修改字段到指定的位置Altertablepersonmodifynamevarchar(25)afterid;我们要把name字段放到id后面,此处varchar(25)要写全修改表的存储引擎Altertableuserrenameperson;增加表的外键:altertablescoreaddconstraintfkforeignkey(stu_id)referencesstudent(id);删除主键ALTERTABLEpersonDROPPRIMARYKEY删除了所有的主键删除表的外键约束altertablestudent3dropforeignkeyfk由于基本的表结构描述无法显示外键,所以在进行此操作前最好使用showcreatetable查看表这里的fk就是刚刚设置的外键需要注意的是:如果想要删除有关联的表,那么必先删除外键删除外键后,原先的key变成普通键索引分类1.普通索引:不附加任何限制条件,可创建在任何数据类型中2.唯一性索引:使用unique参数可以设置索引为唯一性索引,在创建索引时,限制该索引为唯一性索引,主键就是一种唯一性索引3.全文索引:使用fulltext参数可以设置索引为全文索引。全文索引只能创建在char、varchar或text类型的字段上。查询数据量较大的字符串类型字段时,效果明显。但只有MyISAM存储引擎支持全文检索4.单列索引:在表中单个字段上创建索引5.多列索引:在表中多个字段上创建的索引6.空间索引:使用spatial参数可以设置索引为空间索引,空间索引只能建立在空间数据类型上比如geometry,并且不能为空,目前只有MyISAM存储引擎支持7.创建普通索引mysqlcreatetableindex1(-idint,-namevarchar(20),-sexboolean,-index(id)-);QueryOK,0rowsaffected(0.11sec)此处在id字段上创建索引,showcreatetable可查看创建唯一性索引mysqlcreatetableindex2(-idintunique,-namevarchar(20),-uniqueindexindex2_id(idASC)-);QueryOK,0rowsaffected(0.12sec)此处使用id字段创建了一个名为index2_id的索引这里的id字段可以不设置唯一性约束,但这样一来索引就没有作用创建全文索引mysqlcreatetableindex3(-idint,-infovarchar(20),-fulltextindexindex3_info(info)-)engine=MyISAM;QueryOK,0rowsaffected(0.07sec)要注意创建全文索引时只能使用MyISAM存储引擎创建单列索引mysqlcreatetableindex4(-idint,-subjectvarchar(30),-indexindex4_st(subject(10))-);QueryOK,0rowsaffected(0.12sec)此处subject字段长度是30,而索引长度则是10这么做的目的在于提高查询速度,对于字符型的数据不用查询全部信息创建多列索引mysqlcreatetableindex5(-idint,-namevarchar(20),-sexchar(4),-indexindex5_ns(name,sex)-);QueryOK,0rowsaffected(0.10sec)可以看出,这里使用了name字段和sex字段创建索引列创建空间索引mysqlcreatetableindex6(-idint,-spacegeometrynotnull,-spatialindexindex6_sp(space)-)engine=MyISAM;QueryOK,0rowsaffected(0.07sec)这里需要注意空间space字段不能为空,还有存储引擎在已经存在的表上创建索引创建普通索引mysqlcreateindexindex7_idonexample0(id);QueryOK,0rowsaffected(0.07sec)Records:0Duplicates:0Warnings:0这里在现有表的id字段上创建了一条名为index7_id的索引创建唯一性索引mysqlcreateuniqueindexindex8_idonexample1(course_id);QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0此处只需要在index关键字前面加上unique即可至于表中的course_id字段,最要也设置唯一性约束条件创建全文索引mysqlcreatefulltextindexindex9_infoonexample2(info);QueryOK,0rowsaffected(0.07sec)Records:0Duplicates:0Warnings:0fulltext关键字用来设置全文引擎,此处的表必须是MyISAM存储引擎创建单列索引mysqlcreateindexindex10_addronexample3(address(4));QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0此表中address字段的长度是20,这里只查询4字节,不需要全部查询创建多列索引mysqlcreateindexindex11_naonexample4(name,address);QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0索引创建好之后,查询中必须有name字段才能使用创建空间索引mysqlcreatespatialindexindex12_lineonexample5(space);QueryOK,0rowsaffected(0.07sec)Records:0Duplicates:0Warnings:0这里需要注意存储引擎是MyISAM,还有空间数据类型用altertable语句来创建索引创建普通索引mysqlaltertableexample6addindexindex13_n(name(20));QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0创建唯一性索引mysqlaltertableexample7adduniqueindexindex14_id(id);QueryOK,0rowsaffected(0.20sec)Records:0Duplicates:0Warnings:0创建全文索引mysqlaltertableexample8addfulltextindexindex15_info(info);QueryOK,0rowsaffected(0.08sec)Records:0Duplicates:0Warnings:0创建单列索引mysqlaltertableexample9addindexindex16_addr(address(4));QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0创建多列索引mysqlaltertableexample10addindexindex17_in(id,name);QueryOK,0rowsaffected(0.16sec)Records:0Duplicates:0Warnings:0创建空间索引mysqlaltertableexample11addspatialindexindex18_space(space);QueryOK,0rowsaffected(0.06sec)Records:0Duplicates:0Warnings:0到此,三种操作方式,每种索引类别的建立就都列举了对于索引,重要的是理解索引的概念,明白索引的种类更多的是自己的使用经验最后来看看索引的删除删除索引mysqldropindexindex18_spaceonexample11;QueryOK,0rowsaffected(0.08sec)Records:0Duplicates:0Warnings:

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功