mysql搭建以及基本命令,mysql搭建命令
一、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
3、顯示當前資料庫
show databases;
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 新表名