SQL基礎語法
建立、刪除庫:
//建立新數據庫 CREATE DATABASE 數據庫名; //刪除數據庫 DROP DATABASE 數據庫名;
增長:
一、添加列名、設置主鍵、設置自動增加列 primary key表示當前列爲主鍵列,不能重複,不能爲空 out_increment表示當前列爲自動增加列,由DBMS分配該列的值,能夠保證不重複java
CREATE TABLE t_user( id INT PRIMARY KEY AUTO_INCREMENT, //編號 userName VARCHAR(20),//用戶名 birthday DATE,//生日 tel CHAR(11),//電話 //枚舉類型,該列的值只能取男和女 sex ENUM('男','女'), // 性別 -- 最後一列不能加「,」 money INT //帳戶餘額 );
2.添加行(新增記錄)數據庫
①若是添加多條信息,中間用","分割。VALUES只用寫一次,寫在表頭和表值之間。 ②若是列名和列的值不寫,則默認添加爲空(null),若是數據庫設計時存在默認值,則爲添加默認值。數據庫設計
INSERT INTO t_user(表1,表2) values(值1,值2); 例如: INSERT INTO t_user(userName,pwd,birthday,tel,sex,money) VALUES ('張三','123','1980-05-09','13948577789','男',2000); 例如: INSERT INTO t_student(userName,pwd,birthday,tel,sex) VALUES('李四','111','1998-01-01','13112341234','男');
3.添加列(維護經常使用)學習
// t_student:表名;address:表頭 ALTER TABLE t_student ADD address VARCHAR(50);
刪除:
1.刪除表設計
// t_user:表名 DROP TABLE t_user;
2.刪除列3d
// t_student:表名;userAddress:列名 ALTER TABLE t_student DROP COLUMN userAddress;
3.刪除行(記錄)code
//若是不加where 後面的條件則所有刪除 DELETE FROM t_user WHERE id=2;
修改:
一、修改列blog
修改列的值必須與修改後的類型相符,若是修改列的值爲null,則能夠改成任意類型。若是修改列的值類型爲varchar,最長爲20,則修改後的類型必須爲char類型,長度不能低於20。排序
ALTER TABLE t_student CHANGE address userAddress VARCHAR(100);
二、修改值rem
UPDATE t_product SET 修改列名=修改後新值 WHERE id=1; //修改,將張三的密碼修改成333,工資修改成2500 UPDATE t_user SET pwd='333',money='2500' WHERE userName='張三';
查詢:
一、查詢表中全部數據
表示顯示全部的列,也能夠指定顯示列的列表,中間用","分割。
SELECT * FROM t_user; // 例如(顯示姓名和工資列): select userName,money from t_user
二、查詢返回限定行
第一個參數爲起始記錄數,從0開始,第二個參數爲顯示記錄數
// MySQL語法 SELECT * FROM t_student LIMIT 0,3;
三、查詢空值null
null不能用=,只能用is null 或 is not null
SELECT *FROM t_student WHERE money IS NULL;
四、查詢多條信息(or/in)
// 查詢張三和李四的信息 SELECT * FROM t_student WHERE userName='張三' OR userName='李四'; SELECT * FROM t_student WHERE userName IN('張三','李四');
五、模糊查詢(_或%)
//查詢姓李的二個字的員工 SELECT * FROM t_student WHERE userName LIKE '李_'; // 查詢出全部商品名包括「糕」的商品的信息 SELECT * FROM t_product WHERE productName LIKE '%糕%';
六、查詢多條件+顯示部分(LIMIT)
// 查詢前5條價格在100-1000的酒類商品 (MySQL語法) SELECT * FROM t_product WHERE productType='酒類' AND price>=100 AND price<=1000 LIMIT 0,5 ;
七、查詢去除重複的類名(distinct)
// 查詢全部的性別,distinct 表示去除重複記錄 SELECT DISTINCT sex FROM t_student;
八、查詢排序顯示(ORDER BY)
//按員工工資排序,默認爲升序ASC,降序須要加上DESC。 // 工資相同,按年齡大小排序。 SELECT * FROM t_student ORDER BY money DESC,birthday;
九、查詢當前日期
select curdate() from 表名
關聯查詢:
**內鏈接:**INNER JOIN 、CROSS JOIN
(1)形式一
select 字段列表 from A表 inner join B表 on 關聯條件 【where 其餘篩選條件】
說明:若是不寫關聯條件,會出現一種現象:笛卡爾積 關聯條件的個數 = n - 1,n是幾張表關聯 on只能和join一塊兒用
(2) 形式二
select 字段列表 from A表 , B表 where 關聯條件 【and 其餘篩選條件】
外鏈接:左外鏈接(LEFT OUTER JOIN)
左鏈接:
第一種結果:A
select 字段列表 from A表 left join B表 on 關聯條件
第二種結果:A - A∩B
select 字段列表 from A表 left join B表 on 關聯條件 where 從表的關聯字段 is null
右外鏈接(RIGHT OUTER JOIN)
第一種結果:B
select 字段列表
from A表 right join B表
on 關聯條件
第二種結果:B - A∩B
select 字段列表
from A表 right join B表
on 關聯條件
where 從表的關聯字段 is null
謝謝你們閱讀,若是想要知道更多java基礎知識,能夠戳我一塊兒交流學習!