一、mysql搭建過程
ubuntu上安裝mysql
1、 sudo apt-get install mysql-server
2、sudo apt-get install mysql-client
3、sudo apt-get install libmysqlclient-dev
二、基本命令-----有關登陸、退出、添加數據庫、添加表格、刪除數據庫、刪除表格、顯示數據庫、顯示表格等
1、登陸以及退出
mysql -h host -u username -p password
例子:
mysql -h127.0.0.1 -uroot -p123456
2、退出
quit或者是exit<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxwPjOhos/Uyr61scewyv2+3b/iPC9wPgo8cD5zaG93ICAgZGF0YWJhc2VzOzwvcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20150112/2015011209474434.png" alt="\">
4、選擇使用某個數據庫:
use database_name;
例子:
use test:
5、列出當前數據庫所有表格
show tables;
6、創建數據庫:
create databease database_name;
7、刪除某個數據庫
drop database database_name;
8、顯示表格數據結構:
describe table_name;
9、創建表:
使用create table語句創建表:
必須給出以下信息:
新表的名字,在create table之後給出:
表列的名字和定義,用逗號隔開。
實際的表定義(所有列)在圓括號中,各列之間用逗號分開。這個表由9列組成;每列是由列名開始,後跟列的數據類型。
表的主鍵可以再創建表時用PRIMARY KEY關鍵字指定。這裡,cust_id指定作為主鍵列。整條語句由右圓括號後的分號結束。
在創建表時,可以指定這一表列是NULL列,或者是NOT NULL列;NULL列就是在插入時不給出該列的值也可以,NOT NULL列就是插入記錄時必須給出該列的值。
主鍵必須唯一。如果使用單列,則它的值必須唯一;如果使用多個列,則這些值的組合值必須唯一。
創建多個列組成的主鍵時,應該以逗號分隔的列表給出各列名。
AUTO_INCREMENT:就是告訴mysql,本列每增加一行時自動增量,每次執行一個INSERT操作時,mysql自動對該列增量。
默認值,使用default關鍵字指定。
InnoDB是可靠的事務處理引擎;
MyISAM是性能極高的引擎,作為默認引擎,支持全文本搜索,但不支持事務處理。
三、基本命令----select命令相關
1、基本信息顯示:
2、顯示表格中的列:
select column_name_list from table_name;
(1) 查詢某幾列:
select name,sex,birth,birthaddr from mytable;
(2)查詢某一列:
select name from mytable;
(3) 顯示某一列,並對這一列進行排序:
select column_name from table_name order by column_name;
例子:
select name from mytable order by name;
上面默認情況下是升序排序,那麼降序排序就是在命令的最後加上desc;
例子 select name from mytable order by name desc;
(4)只顯示某列的某些行:
select column_name from table_name LIMIT line_total;
顯示列名為column_name的從第一行開始的共line_total行:
例子:
select name from mytable LIMIT 2;
顯示某列,顯示這個列的從某行開始的某些行,即設置顯示的起始行,設置顯示的總行數:
select name from mytable LIMIT line_total OFFSET line_index;
即從line_index+1行開始顯示,共顯示line_total行。
上述中可以看出,從從第3行開始。
3、查詢所有數據:
select * from mytable;
4、顯示特定行:
select * from table_name where colomn_name="name";
例子:
select * from mytable where name="Tom";
通過組合條件顯示特定行:
select * from table_name where column_name1="value1" and column_name2="value2";
例子:
select * from mytable where sex="f" and birthaddr="China";
5、顯示排序後的第一個或者最後一個:使用order by 和limit結合使用:
例如:顯示年齡最小的人:
select * from mytable order by birth desc limit 1;
6、結合select和where句子指定的搜索條件進行過濾:
select column_name_list from table_name where column_name="value";
例子:
找出名字叫Tom的信息:
select * from mytable where name="Tom";
7、select 語句有一個特殊的where子句,可以用來檢查具有NULL的值的列,這個where子句就是is null子句:
select column_name1 from table_name where column_name2 is null;
例子:
select birthaddr from mytable where name is null;
8、where子句:
允許多個where子句,這些子句以and子句的方式或者or子句的方式進行:
例如:
挑選name和sex都為NULL的記錄:
select * from mytable where name is null and sex is null;
當采用多個and 和 or運算符時,需要使用括號區分真實的邏輯。
四、LIKE操作符
1、百分號(%)通配符
%表示任何字符出現的次數。
例如挑出1987年10月出生的人:
select * from mytable where birth LIKE "1987-10%';
2、下劃線_通配符
匹配單個字符
3、刪除左側多余的空格:
RTrim()
4、刪除右側多余的空格:
LTrim()
5、轉換大小寫:
例如:select name, upper(name) as name_upper from mytable order by name;
select name, lower(name) as name_lower from mytable order by name;
五、匯總數據
1、聚集函數
這種類型的檢索例子有以下幾種:
確定表中行數;
獲得表中行組的和;
找出表列的最大值、最小值或者平均值。
例如:
select count(name) as total from mytable:
六、文本搜索:
1、全文本搜索
使用兩個函數match()和against()執行全文本搜索,其中match()指定被搜索的列,against指定要使用的搜索方式:
七、插入數據
1、語法結構:
insert into table_name( table info structure) value( value_list);
例如:
insert into mytable( name, sex, birth, birthaddr) value( "Max", "m", "1886-11-06", "German");
2、可以插入多條數據,在同一個語句中:
insert into mytable( name, birth, sex, birthaddr) value( "Linda", "2001-09-16", "f", "Russia"), ("Green", "1698-12-08", "m", "Italy");
八、更新和刪除數據
1、更新數據
更新特定行:使用where作為限定
更新所有行:不使用where
更新語句使用update語句:包含三部分:
要更新的表;
列名和它們的新值;
確定要更新行的過濾條件;
update 表名 set 列名=“名字” where 過濾條件
例子:
update mytable set name="tt" where birthaddr="America"
2、刪除數據
使用delete語句:
從表中刪除特定的行:需要加限定條件,即where語句;
從表中刪除所有行;
九、更改表結構
使用ALTER TABLE語句更改表結構:
ALTER TABLE之後必須跟要更改的表名以及所做要更改的列表;
1、增加一個列:
例子:
ALTER TABLE mytable ADD height float;
2、刪除一個列:
例子:
ALTER TABLE mytable drop column height;
3、更改表名:
rename table 舊表名 to 新表名