ibcadmin 发表于 2019-10-17 09:48:34

非后端开发Mysql日常使用小结

<h2 id="数据库的五个概念">数据库的五个概念</h2>
<ol>
<li>数据库服务器</li>
<li>数据库</li>
<li>数据表</li>
<li>数据字段</li>
<li>数据行</li>
</ol>
<p>那么这里下面既是对上面几个概念进行根本的一样平常操纵。</p>
<h2 id="数据库引擎利用">数据库引擎利用</h2>
<p>这里仅仅只先容常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动利用的存储引擎。</p>
<code>(1) InnoDB
      a,支持ACID,简朴地说就是支持事务完备性、同等性;
      b,支掣葱锁,以及雷同ORACLE的同等性读,多用户并发;
      c,独有的聚集索引主键设计方式,可大幅提拔并发读写性能;
      d,支持外键;
      e,支持崩溃数据自修复;
      InnoDB设计目的是处置惩罚大容量数据库体系,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。
         它是一个可靠地事务处置惩罚引擎,不支持全文本搜索

(2) MyISAM
      a,不支持 每次查询具有原子性
      b,只支持表所
      c,强调的是性能,其实行数 度比InnoDB范例更快,但是不提供事务支持
      d,如果实行大量的SELECT,MyISAM是更好的选择
      e,缺点:就是不能在表破坏后规复数据。(是不能自动规复)</code>
<p>既然知道了这俩种引擎的优缺点,那么写一下几个常用的API操纵。</p>
<code>show engines;   --显示全部可用的引擎

show table status from myDB;   --检察myDB数据库下的全部表利用的引擎

show create table 表名;         --指定检察表名的全部段名以及引擎

create table 表名(id int primary key, name varchar(50)) engine=MyISAM; --建表的时间指定引擎   

alter table 表名 Engine= MyISAM; --建完表后修改引擎为MyISAM</code>
<p>固然,也可以通过修改配置文件<code>my.ini</code>在末了添加为上default-storage-engine=InnoDB,重启服务,数据库默认的引擎修改为InnoDB。</p>
<h2 id="数据库操纵">数据库操纵</h2>
<code>>net start mysql//启动数据库和停止net stop mysql

>mysql -u root -p   //默认登岸本机(-h是主机地址)

>SELECT USER();   //显示当前用户

>create database 数据库名;    //创建数据库

>SELECT DATABASE();   //显示当前利用数据库

>SHOW DATABASES      //显示全部数据库列表

>USE DATABASE 库名;   //利用该数据库

>DROP DATABASE 库名   //删除数据库

>CMD终端:mysqladmin -u用户名 -p旧密码 password 新密码   //修改密码

>mysql语句:set password for 用户名@localhost = password(&#39;新密码&#39;); </code>
<h2 id="数据表操纵">数据表操纵</h2>
<code>>SHOW TABLES;   //列出库中全部的表

>DESCRIBE table1;//检察表结构

>show columns from 数据表;   //显示表的全部段名以及范例

>CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); //增长数据表和字段名

>DROP TABLE 表名;//删除表

>alter table stu rename as students;//将旧表明stu改为新表明students。</code>
<h2 id="表字段操纵">表字段操纵</h2>
<h3 id="添加字段">添加字段</h3>
<code>语法:ALTER TABLE 表名 ADD COLUMN 字段名 字段范例 DEFAULT NULL;

示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
-- dictionary是表名</code>
<h3 id="修改字段名称">修改字段名称</h3>
<code>语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段范例 DEFAULT NULL;

示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;</code>
<h3 id="删除字段">删除字段</h3>
<code>语法:ALTER TABLE 表名 DROP COLUMN 字段名

示例:ALTER TABLE dictionary DROP COLUMN calss;</code>
<h3 id="批量增长字段">批量增长字段</h3>
<code>bagin;                                           //事务开始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit;                                             //提交事务,事务结束</code>
<h2 id="数据增编削查">数据增编削查</h2>
<p>MySQL语句忽略大小写的。每张数据表只能存在一个主键。</p>
<p><strong>Tip:</strong> 由于数据表的首个字段名(就是主键,如果是id)是不能重复命名的(建议利用id,由于每张表只能存在一个主键),以是建议删除的时间利用(where id=1)键名来定位匹配更好。</p>
<h3 id="查">查</h3>
<code>varsql = &#39;SELECT * FROM websites&#39;;   --查询整个websites表全部数据
varsql = &#39;SELECT name FROM websites&#39;;--查询整个websites表name字段数据</code>
<h3 id="增">增</h3>
<code>-- websites表必须存在(Id,name,url,alexa,country)这些字段名
varaddSql = &#39;INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")&#39;;

insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");</code>
<h3 id="改">改</h3>
<code>-- where是定位到上面的增长数据(可以利用任何"字段名=值"来匹配),并更改俩个数据
var modSql = &#39;UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2&#39;;

var modSql = &#39;update websites SET alexa="12" where name="taobao"&#39;;--定位name字段为taobao并更新了alexa字段的值</code>
<h3 id="删">删</h3>
<code>var delSql = &#39;DELETE FROM websites where id=2&#39;;-- 删除id=2的数据(固然)

-- 删除name=lucas的数据(建议利用id,由于每张表只能存在一个主键),由于他会将表中全部name=lucas的值全部删除
delete from websites where name="lucas";   </code><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/jing-tian/p/11687588.html" target="_blank">https://www.cnblogs.com/jing-tian/p/11687588.html</a>
页: [1]
查看完整版本: 非后端开发Mysql日常使用小结