<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **一.數據庫的連接** ~~~ mysql -u -p -h -u 用戶名 -p 密碼 -h host主機 ~~~ * * * * * **二.修改MySQL提示符** 1.連接客戶端時,通過參數指定 ~~~ mysql -h localhost -u root --prompt 提示符 ~~~ 2.連接上客戶端后,通過`prompt`命令修改 ~~~ prompt 提示符 ~~~ ######**MySQL提示符** | 參數 | 描述 | | --- | --- | | \D | 完整的日期 | | \d | 當前數據庫 | | \h | 服務器名稱 | | \u | 當前用戶 | * * * * * **三.庫級知識** 1 顯示數據庫: `show databases`; 2 選擇數據庫: `use dbname`; 3 創建數據庫: `create database dbname charset utf8`; 4 刪除數據庫: `drop database dbname`; * * * * * **四. 表級操作** 1 顯示庫下面的表: `show tables`; 2 查看表的結構: `desc tableName`; 3 查看表的創建過程: `show create table tableName`; 4 創建表: ~~~  create table tbName ( 列名稱1 列類型 [列參數] [not null default ], ....列2... .... 列名稱N 列類型 [列參數] [not null default ] )engine myisam/innodb charset utf8/gbk ~~~ 例子: ~~~ create table user ( id int auto_increment, name varchar(20) not null default '', age tinyint unsigned not null default 0, index id (id) )engine=innodb charset=utf8; ~~~ >[info] 注:innodb是表引擎,也可以是myisam或其他,但最常用的是myisam和innodb,charset 常用的有utf8,gbk; 5 修改表 (1)修改表之增加列: ~~~ alter table tbName add 列名稱1 列類型 [列參數] [not null default ]  ~~~ >[info] 注:add之后的舊列名之后的語法和創建表時的列聲明一樣 (2)修改表之修改列 ~~~ alter table tbName change 舊列名 新列名 列類型 [列參數] [not null default ] ~~~ >[info] 注:舊列名之后的語法和創建表時的列聲明一樣 (3)修改表之減少列: alter table tbName drop 列名稱; (4)修改表之增加主鍵 ~~~ alter table tbName add primary key(主鍵所在列名); ~~~ 例: ~~~ alter table goods add primary key(id) ~~~ 該例是把主鍵建立在id列上 (5)修改表之刪除主鍵 ~~~ alter table tbName drop primary key; ~~~ (6)修改表之增加索引 ~~~ alter table tbName add [unique|fulltext] index 索引名(列名); ~~~ (7)修改表之刪除索引 ~~~ alter table tbName drop index 索引名; ~~~ (8)清空表的數據 ~~~ truncate tableName; ~~~ * * * * * **五.列類型講解** 整型: ~~~ tinyint (0~255/-128~127) smallint (0~65535/-32768~32767) mediumint int bigint 參數解釋: unsigned 無符號(不能為負) zerofill 0填充 M 填充后的寬度 舉例:tinyint unsigned;tinyint(6) zerofill; ~~~ 數值型 ~~~ 浮點型:float double 格式:float(M,D) unsigned\zerofill; ~~~ 字符型 ~~~ char(m) 定長 varchar(m)變長 text ~~~ 日期時間類型 ~~~ year YYYY 范圍:1901~2155. 可輸入值2位和4位(如98,2012) date YYYY-MM-DD 如:2010-03-14 time HH:MM:SS 如:19:26:32 datetime YYYY-MM-DD HH:MM:SS 如:2010-03-14 19:26:32 timestamp YYYY-MM-DD HH:MM:SS 特性:不用賦值,該列會為自己賦當前的具體時間 ~~~ * * * * * **六.增刪改查** 1.插入數據 ~~~ insert into 表名(col1,col2,……) values(val1,val2……); -- 插入指定列 insert into 表名 values (,,,,); -- 插入所有列 insert into 表名 values -- 一次插入多行 (val1,val2……), (val1,val2……), (val1,val2……); ~~~ 2.修改數據 ~~~ update tablename set col1=newval1, col2=newval2, ... ... colN=newvalN where 條件; ~~~ 3.刪除數據 ~~~ delete from tablenaeme where 條件; ~~~ 4.select 查詢 (1) 條件查詢 where ~~~ 1 比較運算符 = ,!=,< > <= >= 2 like , not like ('%'匹配任意多個字符,'_'匹配任意單個字符) 3 in , not in , between and 4 is null , is not null ~~~ (2) 分組 `group by `一般要配合5個聚合函數使用:`max,min,sum,avg,count` (3) 篩選 `having` (4) 排序 `order by` (5) 限制 `limit` * * * * * **七.連接查詢** 1.左連接 ~~~ .. left join .. on table A left join table B on tableA.col1 = tableB.col2 ; ~~~ 例句: ~~~ select 列名 from table A left join table B on tableA.col1 = tableB.col2 ~~~ 2.右鏈接: `right join` 3.內連接: `inner join` >[info] 左右連接都是以在左邊的表的數據為準,沿著左表查右表. > 內連接是以兩張表都有的共同部分數據為準,也就是左右連接的數據之交集. * * * * * **八.子查詢** where 型子查詢:內層sql的返回值在where后作為條件表達式的一部分 例句: ~~~ select * from tableA where colA = (select colB from tableB where ...); ~~~ from 型子查詢:內層sql查詢結果,作為一張表,供外層的sql語句再次查詢 例句: ~~~ select * from (select * from ...) as tableName where .... ~~~ * * * * * **存儲引擎** ~~~ engine=Myisam\Innodb ~~~ 1 Myisam 速度快 不支持事務 回滾 2 Innodb 速度慢 支持事務,回滾 ①開啟事務 `start transaction`; ②運行sql; ③提交,同時生效\回滾 `commit\rollback`; * * * * * **觸發器 trigger** 監視地點:表 監視行為:增 刪 改 觸發時間:after\before 觸發事件:增 刪 改 創建觸發器語法 ~~~ create trigger tgName after/before insert/delete/update on tableName for each row sql; -- 觸發語句 ~~~ 刪除觸發器:`drop trigger tgName`; **索引** >[info] 提高查詢速度,但是降低了增刪改的速度,所以使用索引時,要綜合考慮. > 索引不是越多越好,一般我們在常出現于條件表達式中的列加索引. > 值越分散的列,索引的效果越好 索引類型 `primary key`主鍵索引 ` index` 普通索引 `unique index` 唯一性索引 `fulltext index` 全文索引 * * * * * **mysql的常用命令** 顯示當前服務器版本 `select version()`; 顯示當前日期時間 `select now()`; 顯示當前用戶 `select user`; **語法規則** >[info] 關鍵字和函數名稱全部大寫 > 數據庫形成、表名稱、字段名稱全部小寫 > SQL語句必須以分號結尾;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看