SQL server基本使用示例二

    xiaoxiao2021-03-25  90

    CREATE DATABASE library; /创建数据库/ go USE library; /使用数据库,使之后面的建表以及添加数据能添加在此数据库中/ go /Table structure for table tb_bookinfo / –创建表格图书信息表 tb_bookinfo CREATE TABLE tb_bookinfo ( ISBN varchar(20) DEFAULT NULL, –图书编号 typeid varchar(20) DEFAULT NULL, –图书类别编号 writer varchar(20) DEFAULT NULL, –作者 translator varchar(20) DEFAULT NULL, –译者 publisher varchar(20) DEFAULT NULL, –出版商 date datetime DEFAULT NULL, –出版日期 price smallmoney DEFAULT NULL, –价格 bookname varchar(40) DEFAULT NULL –书名 ); go

    –创建表格图书类别 tb_booktype CREATE TABLE tb_booktype ( id int identity(1,1) NOT NULL , –设置自增 图书类别编号 typeName varchar(20) DEFAULT NULL, –图书类别名称 days varchar(20) DEFAULT NULL, –可借天数 fk varchar(20) DEFAULT NULL, –罚款(超过一天的罚款) PRIMARY KEY (id) –图书类别编号为主键 ) go

    –创建借阅表tb_borrow CREATE TABLE tb_borrow ( id int PRIMARY KEY identity(1,1) NOT NULL , –借阅编号 bookISBN varchar(20) DEFAULT NULL, –图书编号 readerISBN varchar(20) DEFAULT NULL, –读者编号 num varchar(20) DEFAULT NULL, –读者可借数量 borrowDate varchar(40) DEFAULT NULL, –借阅时间 backDate varchar(40) DEFAULT NULL, –图书应当归还时间 bookName varchar(20) DEFAULT NULL, –书名 operatorId varchar(20) DEFAULT NULL, –管理员(用户)编号 isback varchar(1) DEFAULT ‘1’ –图书状态(1 表示归还 0表示未归还)

    ) ; go

    –创建表格用户表即管理员表格tb_operator CREATE TABLE tb_operator( id int identity(1,1) NOT NULL, –用户编号 设置自增 name varchar(20) DEFAULT NULL, –姓名 sex varchar(20) DEFAULT NULL, –性别 age int DEFAULT NULL, –年龄 identityCard varchar(50) DEFAULT NULL, –身份证号 workdate datetime DEFAULT NULL, –办证日期 tel varchar(20) DEFAULT NULL, –电话 admin int DEFAULT ‘0’, –权限 设置默认为0 password varchar(20) DEFAULT NULL, –密码 PRIMARY KEY (id) –id为主键 ) go –创建表格购买书籍 tb_orders CREATE TABLE tb_orders ( ISBN varchar(20) DEFAULT NULL, –图书编号 date datetime DEFAULT NULL, –购买时间 number varchar(20) DEFAULT NULL, –购买数量 operator varchar(20) DEFAULT NULL, –管理员 checkAndAccept varchar(20) DEFAULT NULL, –验收状态(是或否) zk varchar(20) DEFAULT NULL –折扣 )

    /Data for the table tb_order / go /创建读者用户表/ CREATE TABLE tb_reader ( name varchar(20) DEFAULT NULL, –姓名 sex varchar(20) DEFAULT NULL, –性别 age varchar(10) DEFAULT NULL, –年龄 identityCard varchar(40) DEFAULT NULL, –身份证 date datetime DEFAULT NULL, –办证日期 maxNum varchar(10) DEFAULT NULL, –最大借书量 tel varchar(20) DEFAULT NULL, –电话 keepMoney smallmoney DEFAULT NULL, –押金 zj int DEFAULT NULL, –证件类别 zy varchar(20) DEFAULT NULL, –职业 ISBN varchar(20) DEFAULT NULL,–读者编号 bztime datetime DEFAULT NULL –证件有效期 ) ;

    /查询/

    /基础查询/ –1、查询数据表中部分列 select name,age,tel from tb_reader;

    –2、使用“*”查找所有列 select * from tb_reader;

    –3、使用WHERE过滤部分行数据 select name,age,tel from tb_reader where zy=’学生’;

    –4、使用As子句将列转别名 select name as 姓名,age as 年龄,tel as 电话 from tb_reader;

    –或者使用‘=’转换别名 select 姓名=name,年龄=age,电话=tel from tb_reader;

    –5、使用Top关键字查询表中限定行数 select top 5 * from tb_reader;

    –使用PERCENT按百分比取数据 select top 40 percent * from tb_reader;

    –6、使用DISTINCT关键字屏蔽重复数据 select distinct zy from tb_reader;

    –7、使用IS NULL查询空数据 select * from tb_operator where workdate is null;

    /条件运算符 条件查询/

    –等于 = 查询电话为‘11484579923’ select * from tb_reader where tel=’11484579923’;

    –大于 > 查询年龄大于20岁的读者有哪些 select * from tb_reader where age>20;

    –小于 < 查询年龄小于20岁的读者有哪些 select * from tb_reader where age<20;

    –大于等于 >= 查询年龄大于等于20岁的读者有哪些 select * from tb_reader where age>=20;

    –小于等于 <= 查询年龄小于等于20岁的读者有哪些 select * from tb_reader where age<=20;

    –不等于 <> 查询年龄不等于20岁的读者有哪些 select * from tb_reader where age<>20;

    /逻辑运算 /

    –and select * from tb_reader where name=’贺志玉’ and tel=’18273255013’;

    –or select * from tb_reader where name=’贺志玉’ or tel=’13278980989’;

    –not select * from tb_reader where not (age>20);

    /排序/

    –1、查询所有图书信息并按照价格字段升序显示 select ISBN,typeid,writer,bookname from tb_bookinfo order by price;

    –2、查询单价在20元以上的图书信息,要求价格以8折显示,并按价格降序排列 select ISBN as 编号,typeid as 图书类别,writer as 作者,bookname as 书名,price*0.8 as 单价 from tb_bookinfo where price>20 order by price desc;

    /通配运算符 模糊查询 / –like select * from tb_reader where zy like ‘老师’;

    –“%”表示任一字符串 select * from tb_reader where name like ‘啦%’

    –“-”表示任一字符 select * from tb_reader where name like ‘贺志_’

    –“[]”表示指定范围内的任一字符 select * from tb_reader where name like ‘贺志[与玉宇]’

    –“[^]”表示指定范围外的任一字符 select * from tb_reader where name like ‘贺志[^与宇]’

    –关键词 in 查询作者是‘毛以锋’‘金一南’‘佚名’ select ISBN,typeid,writer,bookname from tb_bookinfo where writer in(‘毛以锋’,’金一南’,’佚名’);

    –关键词between 查询价格在28-90元之间的图书信息 select ISBN,typeid,writer,bookname from tb_bookinfo where price between 28 and 90;

    –常用的SQL内置函数 –1、字符串函数 –2、日期函数 –3、数学函数 –4、类型转换函数 以上自行练习

    /聚合函数/ –sum 求和 当前图书的总价是多少 select sum(price) as 总价 from tb_bookinfo;

    –avg 求平均值 当前图书的平均单价是多少 select avg(price) as 单价 from tb_bookinfo;

    –MAX和MIN 当前图书价格最高以及最低 select max(price) as 最高价,min(price) as 最低价 from tb_bookinfo;

    –count 求个数 当前入库图书有多少 select count(ISBN) as 总数 from tb_bookinfo;

    /分组查询/

    –1、统计读者中学生和老师的人数 group by select zy as 职业, count(*) as 人数 from tb_reader group by zy;

    –2、统计读者中不同性别的学生和老师的人数 select zy as 职业,sex as 性别, count() as 人数 from tb_reader group by zy ,sex having count()>=2;

    转载请注明原文地址: https://ju.6miu.com/read-24591.html

    最新回复(0)