mysql常用知識點
1、Linux環境下安裝mysql
Gpgcheck是GPG驗證是否開啓的選項,1是開啓,0是不開啓,一般情況可以關掉
2、啓動關閉mysql
連接到本機上的MYSQL
mysql -u root -p
退出
exit (回車)
3、數據庫操作
3.1、創建數據庫
CREATE DATABASE 數據庫名;
3.2、查看數據庫創建是否成功
show DATABASES;
3.3、選擇數據庫
use 數據庫名;
3.4、刪除數據庫
drop database 數據庫名;
4、表操作
4.1、創建數據表
CREATE TABLE table_name (column_name column_type);
例如:
CREATE TABLE istester (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
uname VARCHAR(20) NOT NULL ,
sex VARCHAR(4) ,
birth YEAR,
department VARCHAR(20) ,
address VARCHAR(50) ,
idoxu VARCHAR(20)
);
4.2、複製數據表
CREATE TABLE targetTable LIKE sourceTable;
INSERT INTO targetTable SELECT * FROM sourceTable;
4.2.1、只複製表結構到新表
create table 新表 select * from 舊錶 where 1=2
或者
create table 新表 like 舊錶
4.2.2、複製表結構及數據到新表
create table新表 select * from 舊錶
4.2.3、可以拷貝一個表中其中的一些字段:
CREATE TABLE newadmin AS
(
SELECT username, password FROM admin
)
4.2.4、 可以將新建的表的字段改名:
CREATE TABLE newadmin AS
(
SELECT id, username AS uname, password AS pass FROM admin
)
4.3、查看數據表
show tables;
4.4、刪除數據表
DROP TABLE table_name ;
同時刪除多個數據表
drop table table_name1,table_name2 ;
4.5、添加、刪除字段
add/drop
ALTER table istester add column istester6 VARCHAR(100) NOT NULL;
ALTER table istester drop istester6
5、數據操作
5.1、insert
5.1.1、插入、添加
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
5.1.2、拷貝
5.2 delete
delete from istester where id > 12;
5.3 update
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
5.4、 select
5.4.1、選擇\查找
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
5.5、WHERE
5.5.1、WHERE 子句
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
5.5.2、LIKE 子句\模糊匹配
ike 匹配/模糊匹配,會與 % 和 _ 結合使用。
‘%a’ //以a結尾的數據
‘a%’ //以a開頭的數據
‘%a%’ //含有a的數據
‘a’ //三位且中間字母是a的
‘a’ //兩位且結尾字母是a的
'a’ //兩位且開頭字母是a的
查詢以 java 字段開頭的信息。
SELECT * FROM position WHERE name LIKE 'java%';
5.5.3、排序 order by/desc
默認升序排列,若降序需添加關鍵字desc
如:按id降序
select * from istester order by id desc;
默認升序:
select * from idoxu order by grade;
5.5.4、limit
例如:查找istester表,id 包含 “1” 的數據 ,取id最大的三個
select * from istester where id like ‘%1%’ order by id desc limit 3 ;
5.5.5、between
例如:查找idoxu表,成績在80 - 100區間的學生 ;
select * from idoxu where grade between 80 and 100;
5.5.6、in
例如:查找istester表,id 爲 2,11,12 的數據 ;
select * from istester where id in (2,11,12) ;
5.5.7、左連接、右連接、內連接
注意這三者的區別
#左連接
SELECT * from idoxu6 a LEFT JOIN istester b on a.stu_id=b.id;
#內連接
SELECT * from idoxu6 a INNER JOIN istester b on a.stu_id=b.id;
#右連接
SELECT * from idoxu6 a RIGHT JOIN istester b on a.stu_id=b.id;
6、常用函數
6.1、 count
SELECT COUNT(ProductID) AS NumberOfProducts FROM Products;
例如:查詢istester表,有性別類型數量(sex字段,去重)
select COUNT(DISTINCT sex) from istester;
6.2、 max/min
SELECT MAX(Price) AS LargestPrice FROM Products;
6.3、avg
SELECT AVG(Price) AS AveragePrice FROM Products;
6.4、sum
SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;
7、課後練習
隔一段時間還是要review下以下網頁練習mysql的基礎知識