1. 程式人生 > >mysql中列的操作

mysql中列的操作

一.表中的列的操作

1.1 alter table 表名 add 你新增的名字 屬性 (預設在最後 你也可以指定在那列的位置 after/first 列名)

1.2 alter table 表名 drop 列名

1.3show 表名

1.4alter table 表名 change 原來的名字 新名字 新型別 新引數;||只修改列型別 alter table 表名 modify 原名字  新型別 新引數

二.表的操作 (直說重要的)

2.1為什麼建立表時加上 not null default ‘’/default 0  不想讓表中出現NULL

2.2為什麼不想讓表中出現NULL呢 因為他不好比較NULL是一種型別 比較是隻能用is null 和 is not null 來比較 碰到其他的運算子,一律返回NULL影響效果,不利於優化

2.3修改表名 alter table 表名 rename 新的表名

2.4資料庫的名字不能修改

2.5刪除表 drop table 表名 一旦刪除就沒有了

2.6truncate與delete的區別 truncate比delete快因為truncate相當於把整張表刪除了在重新建一張同樣結構的表delete相當於把資料從表中刪除掉

2.7字符集與校對集問題   校對集是字符集的排序規則   注意:宣告的校對集必須是字元集合法的校對集.

預設建表一般用utf8, 而我們在windows下視窗是GBK的

所以你要告訴資料你是GBK負責會亂碼的 你可以用sql語句看看你是用的什麼字符集

show variables like '%charact%'; 會出現以下資訊最後一條可能不一樣

 character_set_client     | gbk                               |你用的字符集
 character_set_connection | gbk                               |處理是預設的字符集
 character_set_database   | utf8                              |資料庫中用到的字符集
 character_set_filesystem | binary                            |
 character_set_results    | gbk                               |返回時用的字符集


 character_set_server     | gbk                               |
 character_set_system     | utf8                              |
 character_sets_dir       | D:\phpStudy\MySQL\share\charsets\

而我們用的set names utf8 是代表我上面標註藍色的三句話 這跟資料使用什麼字符集沒有關係

2.8TEXT文字型別 存放比較大的文字搜尋速度稍慢如果不是特別大建議用Varchar,char代替 text不用加預設值(加了也沒有啊)

2.9Blob型別 是二進位制型別 用了儲存二進位制資訊 它主要的作用是防止字符集的問題導致檔案資訊丟失

2.0.1如果mysql函式和PHP函式都實現某個功能,優先用哪一個? 用php 為什麼呢 mysql中的函式肯定要影響查詢的速度

如果確實用到函式 比如時間格式化

在mysql裡用date_format,在php裡用date可以實現優先放在業務邏輯層,即php層處理這樣更靈活 提高了查詢速度

如果用了mysql自帶函式最大的壞處就是則這列索引將無法使用

如果你針對某列作操作,而此次查詢,又使用的此列的索引.
此時,速度將顯著變慢.

相關推薦

mysql操作

一.表中的列的操作 1.1 alter table 表名 add 你新增的名字 屬性 (預設在最後 你也可以指定在那列的位置 after/first 列名) 1.2 alter table 表名 drop 列名 1.3show 表名 1.4alter table 表名 ch

MYSQL命令操作基本語句

首先進入MYSQL命令列控制介面:   1. 查詢所有資料庫: show databases;  (分號不能少) 2 進入某一資料庫 use + 資料庫名 + database;   Database changed表明已經

mysql 命令操作(一)管理操作

1.查詢所有存在的資料庫 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysq

mysql 命令操作(四)高階sql語句

1.union,連線兩個以上的select語句的結果組合到一個結果集中,多個select語句中相同的資料會被刪除,多個union的select語句必須列數相同,比如第一個select選擇兩個列,那麼後續所有union的select語句都必須是兩列,不要求列的屬性一致,可以用u

mysql授權操作

先設定該使用者只有show database許可權 grant select,insert,update,delete on redmine1.* to [email protected]”%” identified by “jira”; 新增超級

Python在mysql進行操作是十分容易和簡潔的

首先宣告一下,我用的是Windows系統! 1、在Python中對mysql資料庫進行操作首先要匯入pymysql模組,預設情況下,Python中是沒有安裝這個模組的, 可以在Windows的命令列中用pip install pymysql來安裝(注意要連網

怎麼在notepad++ 操作

【列編輯】 通常我們編輯檔案的方式是行編輯,Notepad++還有一種列編輯模式。顧名思義,列編輯就是能夠按列對檔案進行編輯,操作方法如下: 1. 同時編輯連續的列區域: 滑鼠先在要進行列編輯的起點點選,再同時按shift+alt不放,滑鼠在要進行列編輯的結尾區域點選。

Mac下MySQL命令操作

1、登入MySQL服務 /usr/local/MySQL/bin/mysql [-h localhost -P 3306] -u root -p 或者 mysql [-h localhost -P 3306] -u root -p localhost:主機地址 3306:

Mysql 操作時保駕護航的三兄弟!

這期的文章主要是講述寫操作過程中涉及到的三個日誌檔案,看過前幾期的話可能你或多或少已經有些瞭解了(或者從別的地方也瞭解過)。比如整個寫操作過程中用到的兩階段提交,又或者是操作過程中涉及到的日誌檔案,但是總體來說不是很系統更談不上全面。 今天我們就來會會這三兄弟。 圖注:思維導圖 兩階段提交 這個名詞你應該

mysql對表操作----為所有插入數據

執行 創建 from day 記錄 try entry 數據 添加 為所有列插入數據 通常情況下,向數據表中插入數據應包含表中所有字段,也就是為表中所有字段添加數據,為表中所有字段添加數據有以下兩種方式。 1.INSERT語句中指定所有字段名 使用INSER

MySQL使用INNER JOIN來實現Intersect並集操作

int isam har 業務 charset tin ner get 一句話 MySQL中使用INNER JOIN來實現Intersect並集操作 一、業務背景 我們有張表設計例如以下: CREATE TABLE `user_defined_value` (

Mysql使用Group_Concat將組合進來。

http 使用 logs ima 組合 aid pre 技術 img 一、上例子: select left(areaId,7) as CityId,group_concat(stationId) ,NameCn from `wd-area` where type=‘c

MySQL left join操作 on與where放置條件的區別

合成 可見 找到 需要 兩張 oca aaa rip 多個 優先級 兩者放置相同條件,之所以可能會導致結果集不同,就是因為優先級。on的優先級是高於where的。 1 1 首先明確兩個概念: LEFT JOIN 關鍵字會從左表 (table_name1) 那裏返回

JavaSECollection集合框架學習筆記(2)——拒絕重復內容的Set和支持隊操作的Queue

%d eof 是否 face 出錯 can 3.2 lean als 前言:俗話說“金三銀四銅五”,不知道我要在這段時間找工作會不會很艱難。不管了,工作三年之後就當給自己放個暑假。 面試當中Collection(集合)是基礎重點.我在網上看了

mysql show index from tb_name命令各的含義

mysql indexshow index from table_name這個命令有助於診斷性能低下的查詢,尤其是查詢是否使用了可用的索引。下面介紹下 這個命令顯示的結果列的含義:| Table | Non_unique | Key_name | Seq_in_index | Column_name | Co

MYSQL的多類型查詢及高級查詢操作

最大值 -s 當前 and 最大 笛卡爾 rand 必須 min   離散查詢select * from car where price=30 or price=40 or price=50 or price=60;select * from car where price

Mysql對table的操作問題

creat bsp mysql 訂單 記錄 一行 插入 2016年 lena 今天利用一個mysql問題來對前期學習Mysql操作的一個小小的檢驗!!現在總結一下Mysql中對表格的建立、插入特定的數據、以及查詢滿足某一段條件的數據等等進行操作。 首先需要建立如下三個表(t

五、mysqlsql語句分類及常用操作

所表 desc 直接 常用操作 文件 ble div alter .cn 1.sql語句分類: DQL語句  數據查詢語言  select DML語句  數據操作語言  insert delete update DDL語句  數據定義語言  create drop

SFrame操作

frame bubuko blog png pos class div 列操作 body 1、輸出列 2、增加新列 3、列運算 SFrame中的列操作

Linux系統MySQL的常用操作命令

char OS var 權限 記錄 port nis whereis null 服務: # chkconfig --list 列出所有系統服務# chkconfig --list | grep on 列出所有啟動的系統服務 # chkconfig -