欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

毕业设计记录(三)mysql的SQL语句_MySQL

程序员文章站 2022-06-06 22:32:53
...
由于时间问题,没有时间找到所有的sql语句,不会了及时从网上找。下面我把自己遇到的问题总结一下:

首先告诉大家,尤其是不习惯dos界面的用户,有用户界面可供选择,我用的是navicat,给大家截个图:

毕业设计记录(三)mysql的SQL语句_MySQL

高兴了吧?新建个链接的名字就行了,再建个数据库就好使了,都是鼠标操作。但是有人疑问要是部署到服务器咋整?很简单,你就把这个数据库备份,在服务器安装一个一样版本的的界面和数据库,然后用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';