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

由于时间问题,没有时间找到所有的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值