mysql基礎(chǔ)語法和小知識點(diǎn)整理

備注:(大神勿噴!?。。?/h5>
  • mysql 數(shù)據(jù)庫命令不區(qū)分大小寫,但是在Mac 終端中,如果想使用補(bǔ)全命令必須使用大寫。
  • 默認(rèn)創(chuàng)建的數(shù)據(jù)庫默認(rèn)不支持中文字符,如果我們需要它支持中文字符,則將它的編碼設(shè)置為utf8格式,使用alter 來修改。
  • 數(shù)據(jù)庫語句用分號結(jié)束,如果沒有輸入分號會有個-> 等待你繼續(xù)輸入的符號。

1.數(shù)據(jù)庫管理

1.1 create 創(chuàng)建數(shù)據(jù)庫

create database testDB;

1.2 show 查看所有數(shù)據(jù)庫

show databases;

1.3 alter 修改數(shù)據(jù)庫
alter 命令修改數(shù)據(jù)庫編碼:

ALTER DATABASE testDB CHARACTER SET UTF8;

1.4 use 使用數(shù)據(jù)庫
要創(chuàng)建和修改表的時候 要先進(jìn)入對應(yīng)的數(shù)據(jù)庫中

use testDB;

1.5 查看當(dāng)前使用的數(shù)據(jù)庫

select database();

1.6 drop 刪除數(shù)據(jù)庫

drop database testDB;

2. 表管理

2.1 create 創(chuàng)建表

create table  T_PEOPLE (
  -> ID int AUTO_INCREMENT PRIMARY KEY,
  -> NAME varchar(20) not null,
  -> AGE int not null,
  -> BIRTHDAY datetime);

2.2 show 顯示表

show tables;

2.3 desc 查看表結(jié)構(gòu)

desc T_PEOPLE;

2.4 alter 修改表結(jié)構(gòu)(增、刪、改)
默認(rèn)創(chuàng)建的表不支持中文字符,所以需將表編碼設(shè)置為utf8:

ALTER TABLE T_PEOPLE CONVERT TO CHARACTER SET UTF8;
2.4.1 insert 在表中添加列(字段)
alter table T_PEOPLE add star BOOL;
2.4.2 alter 修改表(列)字段
alter table T_PEOPLE DROP column star;
2.4.3 刪除表(列)字段
alter table T_PEOPLE DROP column star;
2.4.4 rename 重命名表名
RENAME TABLE PEOPLE TO NEW_PEOPLE;

2.5 create 利用已有數(shù)據(jù)創(chuàng)建新表

create table newTable select * from T_PEOPLE;

3. 數(shù)據(jù)的操作及管理

3.1 增加數(shù)據(jù)(增)

insert into T_PEOPLE VALUES (null, ‘Anny‘, 22, ‘1992-05-22‘);

3.2 刪除數(shù)據(jù)(刪)

delete from T_PEOPLE where name = ‘Lisa‘;

3 修改數(shù)據(jù)(改)

update T_PEOPLE set name=‘Calvin‘ where name = ‘Garvey‘;

3.4 查詢數(shù)據(jù)(查)

select * from PEOPLE;

格式:select * from <表名>,星 代表所有字段。

查詢數(shù)據(jù)時也可指定顯示的(列)字段:

select NAME, AGE, BIRTHDAY from T_PEOPLE;

4 一些簡單的例子

  • 建表
create table if not exists t_b2 (id integer primary key autoincrement ,name text NOT NULL DEFAULT ' ' collate nocase,phone text not null default '請輸入',email text not null default ' 'collate nocase,unique(name,phone) )   ;
  • like
    查詢以j 開頭的 名字 like ‘j%’
    % 是貪婪匹配 可以匹配該字符本身之外的所有字符 可以和not 配合使用否定一些模式
select  *from tb2 where name like '%ch%' and name not like  ‘%en’ ;
  • limit
    限制返回紀(jì)錄的最大數(shù) offset指定偏移記錄
 select  *from tb2 orderby id desc  limit 1 offset 1 ;

limit 和offset 一起用時候可以用逗號代替offset 例如 limit 2,1 等于limit 1 offset 2;

  • 數(shù)學(xué)函數(shù)
select  id ,upper(name),length(name) from  tb2  limit 10;
select  id ,upper(name),length(name) from  tb2  where length(name) <5 limit 10;
  • 聚合函數(shù)
    是從一組紀(jì)錄中計算聚合值 包括sum(), avg(), count(), min(), max()
select  count(*)from tb2 where length(name) >3;
select  avg(length(name))from tb2 ;

不僅可以對from 進(jìn)行計算 也可以對where子句進(jìn)行計算

  • 聚合的主要部分是分組
    group by 和select 區(qū)別 前者接收where子句的輸出,并將其分割成共享某個字段上同等值的小組 后者接收所有的組

例如獲取每個type_id 組的數(shù)量

select  type_id ,count(*) from food group by type_id;

結(jié)果示例 type_id   count(*)
                  1             22

group by 可以配合having 來過濾約束作用

select  type_id ,count(*) from food group by type_id having count(*) < 20 ;

計算count 的時候最好加入聚合語句 (group by)

  • distinct 去掉重復(fù)
select  distinct name  from tb2
  • 符號表示
<> 不等于
>''大于零的意思
isnull 不為null值
  • 指數(shù)或者小數(shù)點(diǎn) 用real 類型
  • 十六進(jìn)制存儲為blob 類型
  • sqlite 不支持 TRUNCATE
  • using 使用
select t_author.id, t_peoples.name from t_author left join t_peoples using(id);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 啟動 mysql$ mysql -uroot -p -P3306 -h127.0.0.1-u ,--user=na...
    假裝正在輸入閱讀 759評論 0 6
  • 1、MySQL啟動和關(guān)閉(安裝及配置請參照百度經(jīng)驗,這里不再記錄。MySQL默認(rèn)端口號:3306;默認(rèn)數(shù)據(jù)類型格式...
    強(qiáng)壯de西蘭花閱讀 751評論 0 1
  • 系統(tǒng)用戶: 1.sys system(sys權(quán)限最高) 2.sysman(操作企業(yè)管理器) 密碼是安裝的時候輸入的...
    3hours閱讀 1,706評論 0 0
  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,124評論 0 19
  • 這本書雖然被人不乏高手點(diǎn)評過了,但我想再點(diǎn)評一次為了開學(xué)高效地學(xué)習(xí)。 如果只用一種方式了解某樣事物,你就不會真...
    英會閱讀 781評論 2 2

友情鏈接更多精彩內(nèi)容