ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:55.24KB ,
资源ID:25781154      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25781154.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(sql数据库示例适合初学者.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

sql数据库示例适合初学者.docx

1、sql数据库示例适合初学者一、数据库概述数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统)数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。数据库:存储、维护和管理数据的集合。二、数据库的安装与配置 * 安装 * 参照图解 * 一路下一步* 配置

2、* 参照图解 * 到选择字符集时停登录Mysql:mysql -u root -p abc * 卸载 1.停止mysql服务 net stop mysql 启动mysql服务 net start mysql 2.卸载mysql 3.找到mysql 安装目录下的 my.ini datadir=C:/ProgramData/MySQL/MySQL Server 5.5/Data/ * 修改密码运行cmd * 安装成功了打开cmd - mysql -uroot -p你的密码 * 修改mysql root用户密码 1) 停止mysql服务 运行输入services.msc 停止mysql服务 或者 c

3、md - 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窗口 在任务管理器结束mysqld 进程 5) 在服务管理页面 重启mysql 服务 密码修改完成 数据库中一行记录与对象之间的关系。列:字段行:一条记录(实体)public class Userprivate int

4、 id;private String name;private int age;三、sql概述 SQL:Structure Query Language。(结构化查询语言)SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。各数据库厂商都支持ISO的SQL标准。普通话各数据库厂商在标准的基础上做了自己的扩展。方言四、Sql的分类DDL*(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; CREATE、 ALTER、DROPDML*(Data Manipulation

5、 Language):数据操作语言,用来定义数据库记录(数据); INSERT、 UPDATE、 DELETEDCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;DQL*(Data Query Language):数据查询语言,用来查询记录(数据)。SELECT* 注意:sql语句以;结尾4.1 DDL:操作数据库、表、列等使用的关键字:CREATE、 ALTER、 DROP* 4.1.1操作数据库 创建 create database mydb1;Create database mydb2 character set gbk;Create data

6、base mydb3 character set gbk COLLATE gbk_chinese_ci; 查询查看当前数据库服务器中的所有数据库show databases;查看前面创建的mydb2数据库的定义信息Show create database mydb2;删除前面创建的mydb3数据库Drop database mydb3; 修改 查看服务器中的数据库,并把mydb2的字符集修改为utf8; alter database mydb2 character set utf8; 删除 drop database mydb3; * 其他:查看当前使用的数据库select database(

7、); 切换数据库use mydb2;* 4.1.2操作数据表 * 语法: create table 表名( 字段1 字段类型, 字段2 字段类型, . 字段n 字段类型 ); * 常用数据类型: int:整型 double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99; char:固定长度字符串类型; char(10) abc varchar:可变长度字符串类型;varchar(10) abc text:字符串类型; blob:字节类型; date:日期类型,格式为:yyyy-MM-dd; time:时间类型,格式为:hh:mm:ss timest

8、amp:时间戳类型 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列,一次只能删一列。ALTER TABLE employee DROP image;表名改为user。RENAME TABL

9、E employee TO user;查看表格的创建细节SHOW CREATE TABLE user;修改表的字符集为gbkALTER TABLE user CHARACTER SET gbk;列名name修改为usernameALTER TABLE user CHANGE name username varchar(100);删除表DROP TABLE user ;4.2 DML操作(重要)查询表中的所有数据 SELECT * FROM 表名;DML是对表中的数据进行增、删、改的操作。不要与DDL混淆了。INSERT 、UPDATE、 DELETE小知识:在mysql中,字符串类型和日期类型

10、都要用单引号括起来。tom 2015-09-04空值:null 4.2.1插入操作:INSERT:语法: INSERT INTO 表名(列名1,列名2 .)VALUES(列值1,列值2.);注意:列名与列值的类型、个数、顺序要一一对应。可以把列名当做java中的形参,把列值当做实参。值不要超出列定义的长度。如果插入空值,请使用null插入的日期和字符一样,都使用引号括起来。练习 :create table emp(id int,name varchar(100),gender varchar(10),birthday date,salary float(10,2),entry_date dat

11、e,resume text);INSERT INTO emp(id,name,gender,birthday,salary,entry_date,resume)VALUES(1,zhangsan,female,1990-5-10,10000,2015-5-5-,good girl);INSERT INTO emp(id,name,gender,birthday,salary,entry_date,resume)VALUES(2,lisi,male,1995-5-10,10000,2015-5-5,good boy);INSERT INTO emp(id,name,gender,birthday

12、,salary,entry_date,resume)VALUES(3,wangwu,male,1995-5-10,10000,2015-5-5,good boy);批量插入:INSERT INTO emp VALUES(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: 语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 。 WHERE 列名=值练

13、习:将所有员工薪水修改为5000元。UPDATE emp SET salary=5000 将姓名为zs的员工薪水修改为3000元。UPDATE 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; 4.2.3 删除操作 DELETE:语法 : DE

14、LETE FROM 表名 【WHERE 列名=值】练习 :删除表中名称为zs的记录。DELETE FROM emp WHERE name=zs;删除表中所有记录。DELETE FROM emp;使用truncate删除表中记录。TRUNCATE TABLE emp;DELETE 删除表中的数据,表结构还在;删除后的数据可以找回TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。4.3 DQL操作DQL数据查询语言 (重要)数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。查询返回的结果集是一张虚拟表。查询关键

15、字:SELECT 语法: SELECT 列名 FROM表名 【WHERE - GROUP BY -HAVING- ORDER BY】语法:SELECT selection_list /*要查询的列名称*/ FROM table_list /*要查询的表名称*/ WHERE condition /*行条件*/ GROUP BY grouping_columns /*对结果分组*/ HAVING condition /*分组后的行条件*/ ORDER BY sorting_columns /*对结果分组*/ LIMIT offset_start, row_count /*结果限定*/创建名: 学生

16、表:stusidchar(6)学生学号snamevarchar(50)学生姓名ageint学生年龄gendervarchar(50)学生性别CREATE TABLE stu ( sid CHAR(6), sname VARCHAR(50), age INT, gender VARCHAR(50);INSERT INTO stu VALUES(S_1001, liuYi, 35, male);INSERT INTO stu VALUES(S_1002, chenEr, 15, female);INSERT INTO stu VALUES(S_1003, zhangSan, 95, male);I

17、NSERT INTO stu VALUES(S_1004, liSi, 65, female);INSERT INTO stu VALUES(S_1005, wangWu, 55, male);INSERT INTO stu VALUES(S_1006, zhaoLiu, 75, female);INSERT INTO stu VALUES(S_1007, sunQi, 25, male);INSERT INTO stu VALUES(S_1008, zhouBa, 45, female);INSERT INTO stu VALUES(S_1009, wuJiu, 85, male);INSE

18、RT INTO stu VALUES(S_1010, zhengShi, 5, female);INSERT INTO stu VALUES(S_1011, xxx, NULL, NULL); 雇员表:empempnoint员工编号enamevarchar(50)员工姓名jobvarchar(50)员工工作mgrint领导编号hiredatedate入职日期saldecimal(7,2)月薪commdecimal(7,2)奖金deptnoint部分编号CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT

19、, hiredate DATE, sal DECIMAL(7,2), comm decimal(7,2), deptno INT) ;INSERT INTO emp values(7369,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,SALESMAN,7698,1981-02-22,1250,500,30);INSERT INTO emp value

20、s(7566,JONES,MANAGER,7839,1981-04-02,2975,NULL,20);INSERT INTO emp values(7654,MARTIN,SALESMAN,7698,1981-09-28,1250,1400,30);INSERT INTO emp values(7698,BLAKE,MANAGER,7839,1981-05-01,2850,NULL,30);INSERT INTO emp values(7782,CLARK,MANAGER,7839,1981-06-09,2450,NULL,10);INSERT INTO emp values(7788,SCO

21、TT,ANALYST,7566,1987-04-19,3000,NULL,20);INSERT INTO emp values(7839,KING,PRESIDENT,NULL,1981-11-17,5000,NULL,10);INSERT INTO emp values(7844,TURNER,SALESMAN,7698,1981-09-08,1500,0,30);INSERT INTO emp values(7876,ADAMS,CLERK,7788,1987-05-23,1100,NULL,20);INSERT INTO emp values(7900,JAMES,CLERK,7698,

22、1981-12-03,950,NULL,30);INSERT INTO emp values(7902,FORD,ANALYST,7566,1981-12-03,3000,NULL,20);INSERT INTO emp values(7934,MILLER,CLERK,7782,1982-01-23,1300,NULL,10); 部分表:deptdeptnoint部分编码dnamevarchar(50)部分名称locvarchar(50)部分所在地点CREATE TABLE dept( deptno INT, dname varchar(14), loc varchar(13);INSERT

23、 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);1基础查询1.1查询所有列SELECT * FROM stu;1.2查询指定列SELECT sid, sname, age FROM stu;2条件查询2.1条件查询介绍条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用

24、如下运算符及关键字: =、!=、=; BETWEENAND; IN(set); IS NULL; IS NOT NULL AND; OR; NOT; 2.2查询性别为女,并且年龄50的记录SELECT * FROM stu WHERE gender=female AND ge=20 AND age=40;或者SELECT * FROM stu WHERE age BETWEEN 20 AND 40;2.8查询性别非男的学生记录SELECT * FROM stuWHERE gender!=male;或者SELECT * FROM stuWHERE gendermale;或者SELECT * FR

25、OM stuWHERE NOT gender=male;2.9查询姓名不为null的学生记录SELECT * FROM stuWHERE sname IS NOT NULL;或者SELECT * FROM stuWHERE NOT sname IS NULL;3模糊查询当想查询姓名中包含a字母的学生时就需要使用模糊查询了。模糊查询需要使用关键字LIKE。通配符: _ 任意一个字符 %:任意0n个字符%张% 张_3.1查询姓名由5个字母构成的学生记录SELECT * FROM stuWHERE sname LIKE _;模糊查询必须使用LIKE关键字。其中 “_”匹配任意一个字母,5个“_”表示

26、5个任意字母。3.2查询姓名由5个字母构成,并且第5个字母为“i”的学生记录SELECT * FROM stuWHERE sname LIKE _i;3.3查询姓名以“z”开头的学生记录SELECT * FROM stuWHERE sname LIKE z%;其中“%”匹配0n个任何字母。3.4查询姓名中第2个字母为“i”的学生记录SELECT * FROM stuWHERE sname LIKE _i%;3.5查询姓名中包含“a”字母的学生记录SELECT * FROM stuWHERE sname LIKE %a%;4字段控制查询4.1去除重复记录去除重复记录(两行或两行以上记录中系列的上

27、的数据都相同),例如emp表中sal字段就存在相同的记录。当只查询emp表的sal字段时,那么会出现重复记录,那么想去除重复记录,需要使用DISTINCT:SELECT DISTINCT sal FROM emp;4.2查看雇员的月薪与佣金之和因为sal和comm两列的类型都是数值类型,所以可以做加运算。如果sal或comm中有一个字段不是数值类型,那么会出错。SELECT *,sal+comm FROM emp;comm列有很多记录的值为NULL,因为任何东西与NULL相加结果还是NULL,所以结算结果可能会出现NULL。下面使用了把NULL转换成数值0的函数IFNULL:SELECT *,sal+IFNULL(comm,0) FROM emp;4.3给列名添加别名在上面查询中出现列名为sal+IFNULL(comm,0),这很不美观,现在我们给这一列给出一个别名,为total:SELECT *, sal+IFNULL(comm,0) AS total FROM emp;给列起别名时,是可以省略AS关键字的:SELECT *,sal+IFNULL(comm,0) total FROM

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1