当前位置: 首页 > Linux

MySql使用和总结了

时间:2023-04-06 21:34:58 Linux

数据库、数据库服务器、数据库、数据表、数据字段、数据行这五个概念,所以下面就是以上概念的基本日常操作。数据库引擎的使用这里只介绍两种常用的引擎,InnoDB是MySQL5.6以后默认使用的存储引擎。(1)InnoDBa,支持ACID,简单的说就是支持事务的完整性和一致性;b、支持行锁,和类似ORACLE的一致读,多用户并发;c、独特的聚簇索引主键设计方法,可以大大提高并发读写性能;d、支持外键;e、支持崩溃数据自愈;InnoDB是为处理大容量数据库系统而设计的,其CPU利用率是其他基于磁盘的关系数据库引擎无法比拟的。是一个可靠的事务处理引擎,不支持全文搜索(2)MyISAMa,不支持每个查询的原子性b,只支持表c,强调性能,其执行速度比InnoDB类型快,但不提供事务支持d、如果进行大量SELECT,MyISAM是更好的选择e、缺点:表损坏后数据无法恢复。(不能主动回收)既然知道了这两个引擎的优缺点,那我们就来写几个常用的API操作吧。展示引擎;--Displayallavailableengines显示来自myDB的表状态;--查看myDB数据库下所有表使用的引擎showcreatetable表名;--指定表名和引擎createtable表名的所有段名的视图(idintprimarykey,namevarchar(50))engine=MyISAM;--建表时指定引擎altertabletablenameEngine=MyISAM;--建表后改引擎为MyISAM当然也可以修改[mysqld]末尾添加的配置文件my.ini为default-storage-engine=InnoDB,重启服务,修改数据库默认引擎为InnoDB。数据库操作>netstartmysql//启动数据库并停止netstopmysql>mysql-uroot-p//默认登录本机(-h为主机地址)>SELECTUSER();//显示当前用户>createdatabasedatabase//创建数据库>SELECTDATABASE();//显示当前使用的数据库>SHOWDATABASES//显示所有数据库列表>USEDATABASE库名;//使用本数据库>DROPDATABASE库名//删除数据库>CMD终端:mysqladmin-u用户名-p旧密码password新密码//修改密码>mysql语句:setpasswordforusername@localhost=password('newpassword');数据表操作>SHOWTABLES;//列出库中的所有表>DESCRIBEtable1;//查看表结构>显示数据表中的列;//显示表的所有段名和类型>CREATETABLE表名(字段名VARCHAR(20),字段名CHAR(1));//添加数据表和字段名>DROPTABLE表名;//删除表>altertablesturenameasstudents;//将旧的显示stu更改为新的显示students。表字段操作添加字段语法:ALTERTABLE表名ADDCOLUMN字段名字段类型DEFAULTNULL;示例:ALTERTABLEdictionaryADDCOLUMNcassVARCHAR(10)DEFAULTNULL;--字典为表名修改字段名语法:ALTERTABLE表名CHANGE旧字段名新字段名新字段类型DEFAULTNULL;示例:ALTERTABLEdictionaryCHANGEcalssclassVARCHAR(10)DEFAULTNULL;删除字段语法:ALTERTABLE表名DROPCOLUMN字段名示例:ALTERTABLEdictionaryDROPCOLUMNcalss;批量添加字段bagin;//交易开始altertableem_day_dataaddf_day_house7int(11);altertableem_day_dataaddf_day_house8int(11);altertableem_day_dataaddf_day_house9int(11);altertableem_day_dataaddf_day_house10int(11);commit;//提交事务,在事务结束时增删改查MySQL语句,忽略大小写。每个数据表只能有一个主键。提示:由于数据表的第一个字段名(即主键,如果是id)不能重复命名(建议使用id,因为每张表只能有一个主键),建议在删除时使用(whereid=1)键名来更好地定位匹配项。检查varsql='SELECT*FROMwebsites';--查询整个网站表中的所有数据varsql='SELECTnameFROMwebsites';--查询整个websites表中的name字段数据--websites表必须存在(Id,name,url,alexa,country)这些字段名varaddSql='INSERTINTOwebsites(Id,name,url,alexa,country)VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';insertintotable1(id,name,url,country)values(6,"lucas""https://wwww.lucas.com","CN");change--whereisthelocation在上面添加数据(可以使用任意“字段名=值”来匹配),并更改这两个数据varmodSql='UPDATEwebsitesSETname="facebook",url="http://www.facebook.com"WHEREId=2';varmodSql='更新网站SETalexa="12"wherename="taobao"';--定位name字段为taobao并更新alexa字段的值deletevardelSql='DELETEFROMwebsiteswhereid=2';--删除id=2的数据(当然)--删除name=lucas的数据(推荐使用id,因为每张表只能有一个主键),因为他会删除name为lucas的所有数据=lucas在表中Valuealldeletedeletefromwebsiteswherename="lucas";