MySql使用總結

數據庫的五個概念

  1. 數據庫服務器
  2. 數據庫
  3. 數據表
  4. 數據字段
  5. 數據行

那麼這裏下面既是對上面幾個概念進行基本的平常操做。mysql

數據庫引擎使用

這裏僅僅只介紹經常使用的兩種引擎,而InnoDB是從MySQL 5.6.版本之後InnoDB就是做爲默認啓動使用的存儲引擎。web

(1) InnoDB
        a,支持ACID,簡單地說就是支持事務完整性、一致性;
        b,支持行鎖,以及相似ORACLE的一致性讀,多用戶併發;
        c,獨有的彙集索引主鍵設計方式,可大幅提高併發讀寫性能;
        d,支持外鍵;
        e,支持崩潰數據自修復;
        InnoDB設計目標是處理大容量數據庫系統,它的CPU利用率是其它基於磁盤的關係數據庫引擎所不能比的。
         它是一個可靠地事務處理引擎,不支持全文本搜索

(2) MyISAM
        a,不支持 每次查詢具備原子性
        b,只支持表所
        c,強調的是性能,其執行數 度比InnoDB類型更快,可是不提供事務支持
        d,若是執行大量的SELECT,MyISAM是更好的選擇
        e,缺點:就是不能在表損壞後恢復數據。(是不能主動恢復)

既然知道了這倆種引擎的優缺點,那麼寫一下幾個經常使用的API操做。sql

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

固然,也能夠經過修改配置文件my.ini在[mysqld]最後添加爲上default-storage-engine=InnoDB,重啓服務,數據庫默認的引擎修改成InnoDB。shell

數據庫操做

>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('新密碼');

數據表操做

>SHOW TABLES;   //列出庫中全部的表

>DESCRIBE table1;  //查看錶結構

>show columns from 數據表;   //顯示錶的全部段名以及類型

>CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); //增長數據表和字段名

>DROP TABLE 表名;  //刪除表

>alter table stu rename as students;  //將舊代表stu改成新代表students。

表字段操做

添加字段

語法:ALTER TABLE 表名 ADD COLUMN 字段名 字段類型 DEFAULT NULL;

示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
-- dictionary是表名

修改字段名稱

語法:ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新字段類型 DEFAULT NULL;

示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;

刪除字段

語法:ALTER TABLE 表名 DROP COLUMN 字段名

示例:ALTER TABLE dictionary DROP COLUMN calss;

批量增長字段

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;                                             //提交事務,事務結束

數據增刪改查

MySQL語句忽略大小寫的。每張數據表只能存在一個主鍵。數據庫

Tip: 因爲數據表的首個字段名(就是主鍵,假如是id)是不能重複命名的(建議使用id,由於每張表只能存在一個主鍵),因此建議刪除的時候使用(where id=1)鍵名來定位匹配更好。服務器

var  sql = 'SELECT * FROM websites';   --查詢整個websites表全部數據
var  sql = 'SELECT name FROM websites';  --查詢整個websites表name字段數據

-- websites表必須存在(Id,name,url,alexa,country)這些字段名
var  addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';

insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");

-- where是定位到上面的增長數據(可使用任何"字段名=值"來匹配),並更改倆個數據
var modSql = 'UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2';

var modSql = 'update websites SET alexa="12" where name="taobao"';  --定位name字段爲taobao並更新了alexa字段的值

var delSql = 'DELETE FROM websites where id=2';  -- 刪除id=2的數據(固然)

-- 刪除name=lucas的數據(建議使用id,由於每張表只能存在一個主鍵),由於他會將表中全部name=lucas的值所有刪除
delete from websites where name="lucas";
相關文章
相關標籤/搜索