关键词不能为空

当前您在: 主页 > 英语 >

sql数据库示例-适合初学者学习资料

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-16 20:50
tags:

-

2021年2月16日发(作者:祭)


精品文档



一、数据库概述



数据库



DataBase



DB




指长期保存在计算机的存储设备上 ,


按照一定规则组织起来,


可以被各种用户或应用共享的


数据集合



(


文件系 统


)



数据库管理系统(


DataBase Management System



DBMS


< p>


指一种操作和管理数据库的


大型软件,


用于建立、使用和维护数据库,对数据库进行统一管理和控制,


以保证数 据库的


安全性和完整性。用户通过数据库管理系统


访问数据库中 的数据。




数据库软件应该为


数据库管理系统


,数据库是通过数据库管理系统创建和操作的。




数据库:存储、维护和管理数据的集合。



二、数据库的安装与配置






*


安装




*


参照图解




*


一路下一步



*


配置





*


参照图解





*


到选择字符集时停




登录


Mysql



mysql -u root -p abc




*


卸载




< /p>


1.


停止


mysql

服务





net stop mysql








启动


mysql


服务




net start mysql




2.


卸载


mysql




3.


找到


mysql


安装目录下的






datadir=


Server 5.5/Data/




*


修改密码



运行


cmd




*


安装成功了打开


cmd



--> mysql -uroot -p


你的密码





*


修改


mysql root


用户密码






1)


停 止


mysql


服务



运行输入



停止


mysql


服务







或者



cmd -->



net stop mysql





2)



cmd




输入



mysqld



--skip- grant-tables


启动服务器



光标不动



(不要关


闭该窗口)






3)


新打开


cmd


输入


mysql -u root -p


不需要密码




精品文档



精品文档






use mysql;





update user set password=password('abc') WHERE User='root';





4)


关闭两个


cmd


窗口

< br>


在任务管理器结束


mysqld


进程







5)


在服务管理页面



重启


mysql


服务






密码修改完成












数据库中一行记录与对象之间的关系。




列:字段



行:一条记录


(


实体


)



public class User{


private int id;


private String name;


private int age;


}



三、


s ql


概述



SQL



Structure Query Language



(结构化查询语言)



SQL


被美国国家标准局(

< br>ANSI


)确定为关系型数据库语言的美国标准,后来被国际化标准


组织(


ISO


)采纳为关系数据库语言的国际标准。



精品文档



精品文档



各数据库厂商都支持


ISO



SQL


标准 。


普通话



各数据库厂商在标准的基础 上做了自己的扩展。


方言



四、


Sql


的分类



DDL**



Data Definition Language



:数据定义语言, 用来定义数据库对象:库、表、列等;




CREATE




ALTER



DROP


DML***



Data


Manipulation


Language



:数据操作语言,用来定义数据库记录(数据)


;< /p>







INSERT



UPDA


TE




DELETE


DCL



Data Control Language



:数据控制语言,用来定义访问权限和安全 级别;



DQL*****



Data Query Language



:数据查询语言,用来查询记 录(数据)




SELECT


*


注意:


sql

语句以


;


结尾




4.1 DDL:


操作数据库、表、列等



使用 的关键字:


CREATE




ALTER




DROP


* 4.1.1


操作数据库







创建





c


reate database mydb1;



Create database mydb2 character set gbk;


Create database mydb3 character set gbk COLLATE gbk_chinese_ci;






查看当前数据库服务器中的所有数据库



show databases;


查看前面创建的

< p>
mydb2


数据库的定义信息



Show



create



database mydb2;


删除前面创建的


mydb3


数据库



Drop database mydb3;
















修改







查询




查看 服务器中的数据库,并把


mydb2


的字符集修改为

< p>
utf8;



alter database mydb2 character set utf8;


删除




drop database mydb3;







*


其他:



精品文档



精品文档



查看当前使用的数据库



select database();


切换数据库



use mydb2;







* 4.1.2


操作数据表




*


语法:






create table


表名


(






字段


1


字段类型


,






字段


2


字段类型


,






...






字段


n


字段类型






);








*


常用数据类型:






int


:整型






dou ble


:浮点型,例如


double(5,2)


表示最多


5


位,其中必须有


2


位小数,


即最大值为


999.99







char


:固定长度字符串类型;



char(10)



'abc








'





varchar

< br>:可变长度字符串类型;


varchar(10) 'abc'





text


:字符串类型


;





blob


:字节类型;






dat e


:日期类型,格式为:


yyyy-MM- dd







time


:时间类型,格式为:


hh:mm:ss





timestamp


:时间戳类型



yyyy-MM-dd hh:mm:ss



会自动赋值






datetime:


日期时间类型



yyyy-MM-dd hh:mm:ss



当前数据库中的所有表



SHOW TABLES;


查看表的字段信息



DESC employee;


在上面员工表的基本上增加一 个


image


列。



ALTER TABLE employee ADD image blob;


修改


job


列,使其长度为


60




ALTER TABLE employee MODIFY job varchar(60);


删除


image



,

< br>一次只能删一列。



ALTER TABLE employee DROP image;


表名改为


use r




RENAME TABLE employee TO user;


查看表格的创建细节



SHOW CREATE TABLE user;


修改表的字符集为


gbk


精品文档



精品文档



ALTER TABLE user CHARACTER SET gbk;


列名


na me


修改为


username


ALTER TABLE user CHANGE name username varchar(100);



删除表



DROP TABLE user



4.2 DML


操作


(


重要


)


查询表中的所有数据




SELECT * FROM


表名


;



DML


是对


表中的数据


进行增、删、改的操作。不要与


DDL


混淆了。



INSERT



UPDATE




DELETE



小知识:




mysql


中,字符串类型和日期类型都要用单引号括起来。


' tom'



'2015-09-04'


空值:


null



4.2.1


插入操作:


INSERT:


语法:



INSERT INTO < /p>


表名(列名


1


,列名

2 ...



V


ALUES(


列值


1


,列值


2. ..);


注意:列名与列值的类型、个数、顺序要一一对应。



可以把列名当做


java


中的形参,把 列值当做实参。



值不要超出列定义的长度。



如果插入空值,请使用


null


插入的日期和字符一样,都使用引号括起来。



练习





create table emp(


id int,


name varchar(100),


gender varchar(10),


birthday date,


salary float(10,2),


entry_date date,


resume text


);



INSERT INTO e mp(id,name,gender,birthday,salary,entry_date,resum e)


V


ALUES(1,'zhangsan','fema le','1990-5-10',10000,'2015-5-5-','good girl');



INSERT INTO emp(id,name,gen der,birthday,salary,entry_date,resume)


精品文档



精品文档



V


ALUES(2,'lisi','male','1995-5-10',10000,'2015-5-5' ,'good boy');



INSERT INTO e mp(id,name,gender,birthday,salary,entry_date,resum e)


V


ALUES(3,'wangwu','male', '1995-5-10',10000,'2015-5-5','good boy');



批量插入:



INSERT INTO emp V


ALUES

< p>
(4,'zs','m','2015-09-01',10000,'2015-09-01', NULL),


(5,'li','m','2015-09-01',10000,' 2015-09-01',NULL),


(6,'ww','m','2015-09 -01',10000,'2015-09-01',NULL);


4.2.2


修改操作



UPDATE:






练习:



将所有员工薪水修改为


5000


元。



UPDA


TE emp SET salary=5000



将姓名为’


zs

’的员工薪水修改为


3000


元。



UPDA


TE emp SET salary=3000 WHERE name=


’ zhangsan’


;


将姓名为’


aaa


’的员工薪水修改为


4000



,job


改 为


ccc





UPDATE emp SET salary=4000,gender='female' WHERE name='lisi';



wu


的薪水在原有基础上增加


1000


元。




UPDATE emp SET salary=salary+1000 WHERE gender='male';





语法:


UPDATE


表名



SET


列名


1=


列值


1

,列名


2=


列值


2






WHERE


列名


=


4.2.3


删除操作



DELETE:


语法





DELETE FROM


表名




WHERE


列名


=


值】




练习





删除表中名称为’


zs


’的记录。



DELETE FROM emp WHERE name=



zs



;


删除表中所有记录。



DELETE FROM emp;


使用


truncate

< br>删除表中记录。



TRUNCATE TABLE emp;



DELETE


删除表中 的数据,表结构还在


;


删除后的数据可以找回

< br>


TRUNCATE


删除是把表直接

< br>DROP


掉,然后再创建一个同样的新表。


< p>
删除的数据不能找回。执行速度比


DELETE


快 。



精品文档



精品文档





4.3 DQL


操作



DQL


数据查询语言



(重要)



数据库执行


DQL


语句不会对数据进行改变,而是让数据库发送结果集给客户端。



查询返回的结果集是一张虚拟表。




查询关键字:


SELECT




语法:



SELECT


列名



FROM


表名





WHERE --> GROUP BY -->HA


VING--> ORDER BY





语法:



SELECT selection_list /*


要查询的列名称


*/




FROM table_list /*


要查询的表名称


*/




WHERE condition /*


行条件


*/




GROUP BY grouping_columns /*


对结果分组


*/




HA


VING condition /*


分组后的行条件


*/




ORDER BY sorting_columns /*


对结果分组


*/




LIMIT offset_start, row_count /*


结果限定


*/



创建名:



?



学生表:


stu


字段名称



sid


sname


age


gender



CREATE TABLE stu (



sid


CHAR(6),



sname



V


ARCHAR(50),



age



INT,



gender


V


ARCHAR(50)


);


INSERT INTO stu V


ALUES('S_1001', 'liuYi', 35, 'male');


INSERT INTO stu V


ALUES('S_1002', 'chenEr', 15, 'female');


INSERT INTO stu V


ALUES('S_1003', 'zhangSan', 95, 'male');


INSERT INTO stu V


ALUES('S_1004', 'liSi', 65, 'female');


INSERT INTO stu V


ALUES('S_1005', 'wangWu', 55, 'male');


INSERT INTO stu V


ALUES('S_1006', 'zhaoLiu', 75, 'female');


INSERT INTO stu V


ALUES('S_1007', 'sunQi', 25, 'male');


精品文档



字段类型



char(6)


varchar(50)


int


varchar(50)


说明



学生学号



学生姓名



学生年龄



学生性别



精品文档



INSERT INTO stu V


ALUES('S_1008', 'zhouBa', 45, 'female');


INSERT INTO stu V


ALUES('S_1009', 'wuJiu', 85, 'male');


INSERT INTO stu V


ALUES('S_1010', 'zhengShi', 5, 'female');


INSERT INTO stu V


ALUES('S_1011', 'xxx', NULL, NULL);



?



雇员表:


emp


字段名称



empno


ename


job


mgr


hiredate


sal


comm


deptno



CREATE TABLE emp(



empno



INT,



ename



V


ARCHAR(50),



job



V


ARCHAR(50),



mgr



INT,



hiredate


DATE,



sal



DECIMAL(7,2),



comm



decimal(7,2),



deptno



INT


)


INSERT INTO emp values(7 369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20) ;


INSERT INTO emp values(7499,'ALLEN',' SALESMAN',7698,'1981-02-20',1600,300,30);


INSERT INTO emp values(7521,'WARD','SAL ESMAN',7698,'1981-02-22',1250,500,30);


INSERT INTO emp values(7566,'JONES','MA NAGER',7839,'1981-04-02',2975,NULL,20);


INSERT INTO emp values(7654,'MARTIN','S ALESMAN',7698,'1981-09-28',1250,1400,30);


INSERT INTO emp values(7698,'BLAKE','MA NAGER',7839,'1981-05-01',2850,NULL,30);


INSERT INTO emp values(7782,'CLARK','MA NAGER',7839,'1981-06-09',2450,NULL,10);


INSERT INTO emp values(7788,'SCOTT','AN AL


YST',7566,'1987-04-19',3000,NULL,20);


INSERT INTO emp values(7839,'KING','PRE SIDENT',NULL,'1981-11-17',5000,NULL,10);


INSERT INTO emp values(7844,'TURNER','S ALESMAN',7698,'1981-09-08',1500,0,30);


INSERT INTO emp values(7876,'ADAMS','CL ERK',7788,'1987-05-23',1100,NULL,20);


INSERT INTO emp values(7900,'JAMES','CL ERK',7698,'1981-12-03',950,NULL,30);


INSERT INTO emp values(7902,'FORD','ANA L


YST',7566,'1981-12-03',3000,NULL,20);


INSERT INTO emp values(7934,'MILLER','C LERK',7782,'1982-01-23',1300,NULL,10);



?



部分表:


dept


字段名称



字段类型



说明



字段类型



int


varchar(50)


varchar(50)


int


date


decimal(7,2)


decimal(7,2)


int


说明



员工编号



员工姓名



员工工作



领导编号



入职日期



月薪



奖金



部分编号



精品文档



精品文档



deptno


dname


loc



CREATE TABLE dept(



deptno



INT,



dname



varchar(14),



loc



varchar(13)


);


INSERT INTO dept values(10, 'ACCOUNTING', 'NEW YORK');


INSERT INTO dept values(20, 'RESEARCH', 'DALLAS');


INSERT INTO dept values(30, 'SALES', 'CHICAGO');


INSERT INTO dept values(40, 'OPERATIONS', 'BOSTON');



int


varchar(50)


varchar(50)


部分编码



部分名称



部分所在地点



1



基础查询



1.1



查询所有列



SELECT * FROM stu;




1.2



查询指定列



SELECT sid, sname, age FROM stu;




2



条件查询



2.1



条件查询介绍



条件查询就是在查询时 给出


WHERE


子句,



WHERE


子句中可以使用如下运算符及关


键字:< /p>



?



=



!=



<>



<



<=



>



>=

< p>



?



BETWEEN


…AND





?



IN(set)




?



IS NULL




IS NOT NULL


?



AND




?



OR




?



NOT






2.2



查 询性别为女,并且年龄


50


的记录





SELECT * FROM stu



WHERE gender='female' AND ge<50;



精品文档


-


-


-


-


-


-


-


-



本文更新与2021-02-16 20:50,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/659924.html

sql数据库示例-适合初学者学习资料的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文