毕业设计记录(三)mysql的SQL语句
為什么80%的碼農都做不了架構師?>>> ??
由于時間問題,沒有時間找到所有的sql語句,不會了及時從網上找。下面我把自己遇到的問題總結一下:
首先告訴大家,尤其是不習慣dos界面的用戶,有用戶界面可供選擇,我用的是navicat,給大家截個圖:
高興了吧?新建個鏈接的名字就行了,再建個數據庫就好使了,都是鼠標操作。但是有人疑問要是部署到服務器咋整?很簡單,你就把這個數據庫備份,在服務器安裝一個一樣版本的的界面和數據庫,然后用sql語句備份就行了。但是,出于程序員的考慮,還是寫sql比較好。大家可以看到我截圖的這個界面有個新建查詢,大家點擊后別忘保存。這里我想多說一件事。
當時,我新建鏈接用的默認名,之后也是寫的sql語句,也保存了,但是不知道保存在哪里。于是我就測試,關閉之后重新打開,還不錯,查詢還在。但是后來覺得鏈接名字很難看,就刪了。再次打開后,查詢不在了,自然也就沒有那些語句了。原來查詢針對的是鏈接。
其實我早該想到,因為又一次打開了沒用過的數據庫,結果沒注意,怎么都找不到查詢,后來打開自己用的數據庫才找到了。不過,最好還是多備份幾個,比如word里了,還有項目根目錄下了等等。
DROP TABLE person;
CREATE TABLE person(
? ? pid INT PRIMARY KEY AUTO_INCREMENT,
? ? pno VARCHAR(20) UNIQUE,
? ? ppassword VARCHAR(20),
? ? pname VARCHAR(20),
? ? pemail VARCHAR(20),
? ? preminder SMALLINT DEFAULT 0,
? ? ppower SMALLINT DEFAULT 1
? ??
);
INSERT INTO person VALUES(1,'20104516','12345','吳俊朋','1329113268@qq.com','1',3);
INSERT INTO person (pno,ppassword,pname) VALUES (20104528,'12345','強');
Update person Set pname='wujunpeng' where pno='20104516';
-- 從第六個開始,往后數三個
SELECT * FROM person LIMIT 5,3;?
-- 前五個
SELECT * FROM person LIMIT 5;?
-- 先排序,從第五個,數三個
SELECT * FROM (SELECT * FROM person p ORDER BY pno) pr LIMIT 4,3;
-- 得到行數
SELECT COUNT(*) FROM person ;
以上語句大家可以親自測試,觀看結果,這些語句都是可以使用的。
其中還有個大文本類型:LONG,限制最大多大我不記得了,總之可以用;還有日期類型:TIMESTAMP DEFAULT CURRENT_TIMESTAMP,默認填入dang當前時間。說這句話大家估計都知道,personbiao中pid那一行屬性:整形,主鍵自動增長; ? 第二行屬性:字符型,唯一; ? ?最后一行屬性:默認為1; ? CURRENT_DATE()也可當做一個屬性。
下面把所有sql語句全部粘貼出來。
-- 節表
DROP TABLE chater;
CREATE TABLE chater(
? ? cid INT PRIMARY KEY AUTO_INCREMENT,
? ? cno INT NOT NULL,
? ? cname VARCHAR(20)
);
INSERT INTO chater VALUES(5,1,'陳傻子');
INSERT INTO chater (cno,cname) VALUES (3,'吳俊朋');
SELECT * FROM chater;
-- 知識點表
DROP TABLE point;
CREATE TABLE point(
? ? poid INT PRIMARY KEY AUTO_INCREMENT,
? ? pono INT NOT NULL,
? ? poname VARCHAR(20),
? ? cno INT
);
INSERT INTO point VALUES(5,1,'陳傻子',5);
SELECT * FROM point;
-- 試題表
DROP TABLE exam;
CREATE TABLE exam(
? ? eid INT PRIMARY KEY AUTO_INCREMENT,
? ? econtent VARCHAR(254) NOT NULL,
? ? ea VARCHAR(100),
? ? eb VARCHAR(100),
? ? ec VARCHAR(100),
? ? ed VARCHAR(100),
? ? eanswer VARCHAR(2),
? ? eansexplain VARCHAR(254),
? ? kid INT
);
INSERT INTO exam VALUES(5,'誰傻','陳','曾','張','吳','a','傻',3);
INSERT INTO exam (econtent,ea,eb,ec,ed,eanswer,eansexplain,kid) VALUES ('誰傻','陳','曾','張','吳','a','傻',3);
SELECT * FROM exam;
-- 知識點表
DROP TABLE know;
CREATE TABLE know(
? ? kid INT PRIMARY KEY AUTO_INCREMENT,
? ? cno INT,
? ? kname VARCHAR(20),
? ? kcontent LONGTEXT,
? ? krecomment VARCHAR(254),
? ? kother VARCHAR(100),
? ? kvideo VARCHAR(100),
? ? kpre VARCHAR(100),
? ? knext VARCHAR(100)
? ??
);
INSERT INTO know VALUES(5,3,'誰傻','陳','曾','張','吳','a','傻');
INSERT INTO know (cno,kname,kcontent,krecomment,kother,kvideo,kpre,knext) VALUES (3,'誰傻','陳','曾','張','吳','a','傻');
SELECT * FROM know;
-- 人員表
DROP TABLE person;
CREATE TABLE person(
? ? pid INT PRIMARY KEY AUTO_INCREMENT,
? ? pno VARCHAR(20) UNIQUE,
? ? ppassword VARCHAR(20),
? ? pname VARCHAR(20),
? ? pemail VARCHAR(20),
? ? preminder SMALLINT DEFAULT 0,
? ? ppower SMALLINT DEFAULT 1
? ??
);
INSERT INTO person VALUES(1,'20104516','12345','吳俊朋','1329113268@qq.com','1',3);
INSERT INTO person (pno,ppassword,pname) VALUES (20104528,'123','強');
SELECT * FROM person;
SELECT * FROM person WHERE pno='20104516' and ppassword='12345;
Update person Set pname='wujunpeng' where pno='20104516';
-- 從第六個開始,往后數三個
SELECT * FROM person LIMIT 5,3;?
-- 前五個
SELECT * FROM person LIMIT 5;?
-- 先排序,從第五個,數三個
SELECT * FROM (SELECT * FROM person p ORDER BY pno) pr LIMIT 4,3;
SELECT * FROM (SELECT * FROM person p where ppower=1 ORDER BY pno ) pr LIMIT 0,5
-- 得到行數
SELECT COUNT(*) FROM person ;
-- 問題表
DROP TABLE quest;
CREATE TABLE quest(
? ? qid INT PRIMARY KEY AUTO_INCREMENT,
? ? qtop INT DEFAULT 0,
? ? cno INT,
? ? qname VARCHAR(20),
? ? qcontent VARCHAR(254),
? ? qperson VARCHAR(20),
? ? qtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
? ??
);
INSERT INTO quest VALUES(5,0,3,'傻','陳盛力撒','吳俊朋','2014-04-17 12:11:12');
INSERT INTO quest (cno,qname,qcontent,qperson) VALUES(3,'傻','陳盛力撒','吳俊朋');
SELECT * FROM quest;
-- 分數表
DROP TABLE score;
CREATE TABLE score(
? ? sid INT PRIMARY KEY AUTO_INCREMENT,
? ? pno INT,
? ? kid INT,
? ? score SMALLINT
);
INSERT INTO score VALUES(5,20104516,3,90);
INSERT INTO score (pno,kid,score) VALUES(20104528,'923',100);
SELECT * FROM score;
-- 動態表
DROP TABLE dynamic;
CREATE TABLE dynamic(
? ? did INT PRIMARY KEY AUTO_INCREMENT,
? ? dtitle VARCHAR(100),
? ? dcontent LONGTEXT,
? ? durl VARCHAR(100),
? ? dresource VARCHAR(100)??
);
INSERT INTO dynamic VALUES(5,'陳盛力','喜歡hy','h','sfdsfs');
INSERT INTO dynamic (dtitle,dcontent,durl,dresource) VALUES('陳盛力','喜歡hy','http://www.baidu.com','sfdsfs');
SELECT * FROM dynamic;
SELECT * FROM (SELECT did,dtitle,dresource FROM dynamic d ORDER BY did ) dd LIMIT 0,2;
-- 作業表
DROP TABLE task;
CREATE TABLE task(
? ? tid INT PRIMARY KEY AUTO_INCREMENT,
? ? tname VARCHAR(100),
? ? task LONGTEXT,
? ? tdeadline VARCHAR(100),
? ? ttime DATE??
);
INSERT INTO task VALUES(5,'陳盛力','喜歡hy','三周',CURRENT_DATE());
INSERT INTO task (tname,task,tdeadline,ttime) VALUES('盛力','喜歡hy','5月3號',CURRENT_DATE());
SELECT * FROM task;
SELECT * FROM (SELECT * FROM task t ORDER BY tid ) tt LIMIT 0,2;
-- 測試用例
CREATE TABLE test(
? ? tid INT,
? ? tname VARCHAR(20),
? ? tage INT
);
SELECT * FROM test;
update test set tid= 100,tname='wup',tage=24 where tid=100;
delete from test where tid= 100;
-- 處理主鍵重復問題
SELECT MAX(tid) FROM test;
-- 這時最好啟用別名
SELECT MAX(tid) id FROM test;
SELECT * FROM test ORDER BY tid;
INSERT INTO test VALUES(2,'dfsa',3434);
select * from test where tname='dfsa';
轉載于:https://my.oschina.net/jiler/blog/263292
總結
以上是生活随笔為你收集整理的毕业设计记录(三)mysql的SQL语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吐槽win7
- 下一篇: 浅谈ThreadPool 线程池(引用)