JAVA学习数据库2
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                JAVA学习数据库2
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            distinct 一般與count連用,用在count括號里面,取出重復記錄 
 
 分組之后只能操作對應列和基本數(shù)據(jù)。 
 
 使用數(shù)據(jù)庫 
 
 CREATE DATABASE mydb;   
-- 創(chuàng)建表,先寫ID,再寫列 CREATE TABLE t_user( -- PRIMARY KEY 申請該列為主鍵列。主鍵列不能重復,不能為null, -- AUTO_INCREMENT 自動增長列,表示由DBMS分配該列的-。確保該列的值不重復,同時不為null。該列只能是int型 id INT PRIMARY KEY AUTO_INCREMENT, -- VARCHAR為可變長度的字符類型,名字用字符類型數(shù)據(jù) userName VARCHAR(20), -- 生日要用日期類型數(shù)據(jù),date只能表示年月日, birthday DATE, -- 錢有小數(shù),使用浮點類型? ?最后一個列,不用加逗號 money DOUBLE
);
-- 查詢語句,查詢表中的所有記錄 SELECT * FROM t_user
添加記錄 -- 添加記錄? INSERT INTO +表(列,列,)+ VALUE(值,值,值) INSERT INTO t_user(userName,birthday,money) VALUE('張三','1988-02-02',3000); INSERT INTO t_user(userName,birthday,money) VALUE('張四','1972-01-01',5000); INSERT INTO t_user(userName,birthday,money) VALUE('王五','1977-05-05',7000); 批量添加 ? 注意是逗號隔開,然后最后一條是分號 -- 批量添加記錄 INSERT INTO t_user(userName,birthday,money) VALUE('張飛','1992--09-30',3000), ('劉備','1992-04-04',3000), ('鄭飛','1991-05-04',5000), ('張飛','1992-04-07',7000); 刪除已有記錄 -- 刪除表 -- DROP TABLE t_user;
-- 刪除某條記錄,比如id為15 DELETE FROM t_user WHERE id=10;
   
-- 刪除記錄,通過其他列名字為張三的記錄 DELETE FROM t_user WHERE userName='張三';
修改記錄 -- 修改某個坐標,例如田七的工資為5000 UPDATE t_user SET money=5000 WHERE userName='田七';
-- 修改70后人員工資為4500 UPDATE t_user SET money=8500 WHERE birthday>='1970-01-01' AND birthday<'1980-01-01';
-- 數(shù)據(jù)內(nèi)部加法計算,80后的工資+100 UPDATE t_user SET money=money+100 WHERE birthday>='1980-01-01' AND birthday<='1990-01-01';
-- 修改田七名字為“無忌公子”,工資漲為6100? 注意money和 where之間沒有符號,? ?名字和money之間有逗號。 UPDATE t_user SET userName='無忌公子', money=80000 WHERE userName='田七';
-- 修改id為12的員工,工資為5500,生日修改為1988-05-20 UPDATE t_user SET money=5500,birthday='1988-05-20' WHERE id=12; 顯示操作 -- 只顯示某些列(比如只顯示姓名和工資兩列) SELECT userName,money FROM t_user;
-- 顯示工資在5000以上的80后員工 SELECT *FROM t_user WHERE money>=5000 AND birthday>='1990-01-01' AND birthday<'2000-01-01' ;
-- 顯示姓張的員工 ,%為通配符,表示任意長度字符,? 下劃線 _為通配符,匹配一個長度的任意字符,比如張_ 匹配任意姓張的一個字名字的人 SELECT * FROM t_user WHERE userName LIKE '張%';
-- 查詢名字中帶了張的人,就使用 %張% SELECT * FROM t_user WHERE userName='%張%';
-- 查詢員工工資,并去掉重復記錄 distinct SELECT DISTINCT money FROM t_user;
-- 顯示第七條開始的3條記錄 -- limit? 6(起始條數(shù)),3(需要顯示的行數(shù),不是第幾行) ; -- 注意,第一條是0開始的,所以第七條的下標是6 SELECT * FROM t_user LIMIT 6,3;
-- 添加部分行記錄(未添加的部分的值自動為null) INSERT INTO t_user(userName,birthday) VALUES('張康年','1990-05-05'),('趙啟賢','1990-05-06'); SELECT * FROM t_user
-- 查找null? ? IS NUL SELECT * FROM t_user WHERE money IS NULL;
-- 顯示非null SELECT * FROM t_user WHERE money IS NOT NULL;
-- 或者 or 顯示工資在5000以上,或者 SELECT * FROM t_user WHERE money>=5000 OR userName LIKE '李%';
   
-- 選擇操作 -- 顯示張飛和王五的資料 or? ? ?IN SELECT *FROM t_user WHERE userName='張飛' OR userName='王五'; SELECT * FROM t_user WHERE userName IN('張飛','王五');
排序,插入標記行 -- 排序 order by? ?或者asc? ?默認是升序 ,降序desc SELECT * FROM t_user ORDER BY money;
   
-- 練習,顯示所有員工,并顯示該員工的工資等級。 -- 4000以下,顯示底薪,4000-5000顯示中薪水,5000以上顯示高薪 -- u 顯示別名? when ....then? ? else? ? ....end?
   
SELECT u.*,(CASE WHEN money<4000 THEN '低' WHEN money>=4000 AND money<5000 THEN '中' WHEN money IS NULL THEN '實習生' ELSE? '高'? ? END )'1' FROM t_user u;
   
                            
                        
                        
                        -- 創(chuàng)建表,先寫ID,再寫列 CREATE TABLE t_user( -- PRIMARY KEY 申請該列為主鍵列。主鍵列不能重復,不能為null, -- AUTO_INCREMENT 自動增長列,表示由DBMS分配該列的-。確保該列的值不重復,同時不為null。該列只能是int型 id INT PRIMARY KEY AUTO_INCREMENT, -- VARCHAR為可變長度的字符類型,名字用字符類型數(shù)據(jù) userName VARCHAR(20), -- 生日要用日期類型數(shù)據(jù),date只能表示年月日, birthday DATE, -- 錢有小數(shù),使用浮點類型? ?最后一個列,不用加逗號 money DOUBLE
);
-- 查詢語句,查詢表中的所有記錄 SELECT * FROM t_user
添加記錄 -- 添加記錄? INSERT INTO +表(列,列,)+ VALUE(值,值,值) INSERT INTO t_user(userName,birthday,money) VALUE('張三','1988-02-02',3000); INSERT INTO t_user(userName,birthday,money) VALUE('張四','1972-01-01',5000); INSERT INTO t_user(userName,birthday,money) VALUE('王五','1977-05-05',7000); 批量添加 ? 注意是逗號隔開,然后最后一條是分號 -- 批量添加記錄 INSERT INTO t_user(userName,birthday,money) VALUE('張飛','1992--09-30',3000), ('劉備','1992-04-04',3000), ('鄭飛','1991-05-04',5000), ('張飛','1992-04-07',7000); 刪除已有記錄 -- 刪除表 -- DROP TABLE t_user;
-- 刪除某條記錄,比如id為15 DELETE FROM t_user WHERE id=10;
-- 刪除記錄,通過其他列名字為張三的記錄 DELETE FROM t_user WHERE userName='張三';
修改記錄 -- 修改某個坐標,例如田七的工資為5000 UPDATE t_user SET money=5000 WHERE userName='田七';
-- 修改70后人員工資為4500 UPDATE t_user SET money=8500 WHERE birthday>='1970-01-01' AND birthday<'1980-01-01';
-- 數(shù)據(jù)內(nèi)部加法計算,80后的工資+100 UPDATE t_user SET money=money+100 WHERE birthday>='1980-01-01' AND birthday<='1990-01-01';
-- 修改田七名字為“無忌公子”,工資漲為6100? 注意money和 where之間沒有符號,? ?名字和money之間有逗號。 UPDATE t_user SET userName='無忌公子', money=80000 WHERE userName='田七';
-- 修改id為12的員工,工資為5500,生日修改為1988-05-20 UPDATE t_user SET money=5500,birthday='1988-05-20' WHERE id=12; 顯示操作 -- 只顯示某些列(比如只顯示姓名和工資兩列) SELECT userName,money FROM t_user;
-- 顯示工資在5000以上的80后員工 SELECT *FROM t_user WHERE money>=5000 AND birthday>='1990-01-01' AND birthday<'2000-01-01' ;
-- 顯示姓張的員工 ,%為通配符,表示任意長度字符,? 下劃線 _為通配符,匹配一個長度的任意字符,比如張_ 匹配任意姓張的一個字名字的人 SELECT * FROM t_user WHERE userName LIKE '張%';
-- 查詢名字中帶了張的人,就使用 %張% SELECT * FROM t_user WHERE userName='%張%';
-- 查詢員工工資,并去掉重復記錄 distinct SELECT DISTINCT money FROM t_user;
-- 顯示第七條開始的3條記錄 -- limit? 6(起始條數(shù)),3(需要顯示的行數(shù),不是第幾行) ; -- 注意,第一條是0開始的,所以第七條的下標是6 SELECT * FROM t_user LIMIT 6,3;
-- 添加部分行記錄(未添加的部分的值自動為null) INSERT INTO t_user(userName,birthday) VALUES('張康年','1990-05-05'),('趙啟賢','1990-05-06'); SELECT * FROM t_user
-- 查找null? ? IS NUL SELECT * FROM t_user WHERE money IS NULL;
-- 顯示非null SELECT * FROM t_user WHERE money IS NOT NULL;
-- 或者 or 顯示工資在5000以上,或者 SELECT * FROM t_user WHERE money>=5000 OR userName LIKE '李%';
-- 選擇操作 -- 顯示張飛和王五的資料 or? ? ?IN SELECT *FROM t_user WHERE userName='張飛' OR userName='王五'; SELECT * FROM t_user WHERE userName IN('張飛','王五');
排序,插入標記行 -- 排序 order by? ?或者asc? ?默認是升序 ,降序desc SELECT * FROM t_user ORDER BY money;
-- 練習,顯示所有員工,并顯示該員工的工資等級。 -- 4000以下,顯示底薪,4000-5000顯示中薪水,5000以上顯示高薪 -- u 顯示別名? when ....then? ? else? ? ....end?
SELECT u.*,(CASE WHEN money<4000 THEN '低' WHEN money>=4000 AND money<5000 THEN '中' WHEN money IS NULL THEN '實習生' ELSE? '高'? ? END )'1' FROM t_user u;
總結(jié)
以上是生活随笔為你收集整理的JAVA学习数据库2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 扒皮下音悦台的“返回顶部”图标效果
- 下一篇: 无题似有题
