1. 程式人生 > >MySQL基礎命令從入門到放棄

MySQL基礎命令從入門到放棄

MySQL基礎命令

yum安裝 自建yum源 MySQL.repo [ftpmysql] name=mysql baseurl=ftp://10.18.40.100/rpm-soft/mysql57 gpgcheck=0 儲存 yum -y install mysql-server yum -y install mysqld systemctl restart mysqld vim /var/log/mysql.log /password 複製 mysql -uroot -p 貼上 mysql>set password for ‘root’@‘localhost’=password(‘newpasswd’);

show databases; create database XXXX; use XXXX; create table 表名( 欄位名1 型別[(寬度) 約束條件], 欄位名2 型別[(寬度) 約束條件], 欄位名3 型別[(寬度) 約束條件] )[儲存引擎 字符集]; ==在同一張表中,欄位名是不能相同 ==寬度和約束條件可選 ==欄位名和型別是必須的 檢視當前庫所有表: mysql> show tables; //查看錶(當前所在庫) ±-----------------+ | Tables_in_school | ±-----------------+ | student1 | ±-----------------+ 1 row in set (0.00 sec) 選擇資料庫: use 庫名; or SELECT database(); 呼叫函式,查詢當前庫 刪除資料庫: DROP DATABASE 資料庫名; 查看錶內容: mysql> select * from student1; //查詢表中所有欄位的值 Empty set (0.00 sec) 查看錶結構: desc 表名; 修改表名: ALTER TABLE 表名 RENAME 新表名; 增加欄位: ALTER TABLE 表名 ADD 欄位名 資料型別 [完整性約束條件…], ADD 欄位名 資料型別 [完整性約束條件…]; ------#末尾追加 ALTER TABLE 表名 ADD 欄位名 資料型別 [完整性約束條件…] FIRST;------#首列 ALTER TABLE 表名 ADD 欄位名 資料型別 [完整性約束條件…] AFTER 欄位名;-----#加在某列之後 刪除欄位:

  ALTER TABLE 表名
					   DROP 欄位名;

修改欄位: ALTER TABLE 表名 MODIFY 欄位名 資料型別 [完整性約束條件…]; ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 舊資料型別 [完整性約束條件…]; ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新資料型別 [完整性約束條件…]; 刪除主鍵: [primary key auto_increment] 刪除主鍵時,要先清理掉自動增長。 a. 刪除自增約束 mysql> alter table student10 modify id int not null;

b. 刪除主鍵 mysql> alter table student10 -> drop primary key; 修改欄位型別modify: mysql> alter table student10 -> modify age tinyint not null default 22; //注意保留原有的約束條件

mysql> alter table student10 -> modify id int not null primary key ; //修改欄位型別、約束、主鍵 增加約束(針對已有的主鍵增加auto_increment): 1.準備一個有主鍵,但沒有自增的表 mysql> create table t6 (id int primary key ,name varchar(50) ); Query OK, 0 rows affected (0.04 sec) 2.為該表增加自增 mysql> alter table t6 modify id int not null ??? auto_increment;

Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 增加複合主鍵: mysql> alter table student10 add primary key(host_ip,port); 增加主鍵: mysql> alter table student1 -> add primary key(id); 增加主鍵和自增: mysql> alter table student1 -> modify id int not null primary key auto_increment; 修改儲存引擎: mysql> alter table service engine=innodb; //engine=myisam|memory|… innodb提供事物支援及主外來鍵高階功能 MyISAM不支援事物處理,強調高效能。 memory僅記憶體

查插改刪: INSERT 實現資料的 插入 DELETE 實現資料的 刪除以及 UPDATE 實現資料的 更新 一、插入資料INSERT:

  1. 插入完整資料(順序插入) INSERT INTO 表名(欄位1,欄位2,欄位3…欄位n) VALUES (值1,值2,值3…值n); INSERT INTO 表名 VALUES (值1,值2,值3…值n);
  2. 指定欄位插入資料 INSERT INTO 表名(欄位2,欄位3…) VALUES (值2,值3…);
  3. 插入多條記錄 INSERT INTO 表名 VALUES (值1,值2,值3…值n), (值1,值2,值3…值n), (值1,值2,值3…值n);
  4. 插入查詢結果 INSERT INTO 表1(欄位1,欄位2,欄位3…欄位n) SELECT (欄位1,欄位2,欄位3…欄位n) FROM 表2 WHERE …; 前提,欄位數和欄位型別相同。 二、更新資料UPDATE: UPDATE 表名 SET 欄位1=值1, 欄位2=值2, WHERE CONDITION; 三、刪除資料DELETE: DELETE FROM 表名 WHERE CONITION; 單表查詢 : select * from 表 select * from 表 where id > 1 select nid,name,gender as gg from 表 where id > 1 a,條件 select * from 表 where id > 1 and name != ‘alex’ and num = 12; select * from 表 where id between 5 and 16; select * from 表 where id in (11,22,33) select * from 表 where id not in (11,22,33) select * from 表 where id in (select nid from 表) b,萬用字元 select * from 表 where name like ‘sha%’ - ale開頭的所有(多個字串串) select * from 表 where name like ‘shar_’ - ale開頭的所有(⼀一個字元) c,限制 select * from 表 limit 5; e,分組 select num from 表 group by num select num,nid from 表 group by num,nid group by 必須在where之後, order by之前