mysql_command_study

本文提供了一系列SQL基础操作实例,包括数据库及表的创建、数据的增删改查、条件筛选、排序、聚合函数使用等核心内容,适合初学者快速上手。
###3.教程
-select version(),currend_date;
-select sin(pi()/4),(4*5)%3;
-select version();select now();select 4*6;
-select
    -> user(),
    -> current_date;
-select * fr \c
-select 'user
    '> \c
    '> '\c
-show databases;
-use test;
-show tables;
-create database menagerie;
-use menagerie;
-show tables;
-create table pet (name varchar(20),owner varchar(20),species varchar(20),sex
 char(1),birth date,death date);
-show tables;
-describe pet;
-pet.txt文件中:Whistler    Gwen    bird    \N  1997-12-09  \N 
  命令行:load data local infile 'E:\mysql学习\pet.txt' into table pet;
-insert pet values('Puffball','Diane','hamster','f','1999-03-30',null);
- select * from pet;
-update pet set birth='1989-08-31' where name="Bowser";
-select * from pet where name="Bowser";
-select * from pet where birth > '1998-1-1';
-select * from pet where species="dog" and sex="f";
-select * from pet where species="snake" or species="bird";
-select * from pet where (species="cat" and sex="m") or (species="dog"
and sex="f");
-select name,birth from pet;
-select name,owner from pet;
-select distinct owner from pet;
- select name,species,birth from pet where
  -> species="dog" or species="cat";
-select name,birth from pet order by birth;
-select name,birth from pet order by birth desc;
-select name,species,birth from pet order by species,birth desc;
-select name,birth,curdate(),(year(curdate())-year(birth))-(right(curda
te(),5) < right(birth,5)) as age from pet;
-select name,birth,curdate(),(year(curdate())-year(birth))-(right(curda
te(),5)< right(birth,5)) as age from pet order by name;
-select name,birth,curdate(),(year(curdate())-year(birth))-(right(curda
te(),5)< right(birth,5)) as age from pet order by age;
-select name,birth,death,(year(curdate())-year(birth))-(right(curdate()
,5)< right(birth,5))as age from pet where death is not null order by age;
-select name,birth,month(birth) from pet;
-select name,birth from pet where month(birth)=6;
-select name,birth from pet where month(birth)=month(date_add(curdate()
,interval 1 month));
-select name,birth from pet where month(birth)=mod(month(birth),12)+1;
-select 1=null,1<>null,1<null,1>null;
-select 1 is null,1 is not null;
-select 0 is null,0 is not null,'' is null,'' is not null;
-select * from pet where name like 'b%';
-select * from pet where name like '%fy';
-select * from pet where name like '%w%';
- select * from pet where name like '_____';
-select * from pet where name regexp '^b';
-select * from pet where name regexp binary '^b';
-select * from pet where name regexp 'fy$';
-select * from pet where name regexp 'w';
-select * from pet where name regexp '^.....$';
-select * from pet where name regexp '^.{5}$';
-select count(*) from pet;
-select owner,count(*) from pet group by owner;
-select species,count(*) from pet group by species;
-select sex,count(*) from pet group by sex;
-select species,sex,count(*) from pet group by species,sex;
- select species,sex,count(*) from pet where species="dog" or species="c
at" group by species,sex;
- select species,sex,count(*) from pet where sex is not null group by sp
ecies,sex;
-create table event (name varchar(20),date date,type varchar(15),remark
 varchar(255));
-alter table pet add type varchar(20);
-alter table pet add remark varchar(50);
-update pet set type='litter',remark='5 puppies,2 female,3 male' wh
ere name='Buffy';
-desc event;
-SELECT pet.name,
    -> (YEAR(date)-YEAR(birth)) - (RIGHT(date,5)<RIGHT(birth,5)) AS age,
    -> remark
    -> FROM pet, event
    -> WHERE pet.name = event.name AND event.type = 'litter';


-select p1.name,p1.sex,p2.name,p2.sex,p1.species from pet as p1,pet as p2 whe
re p1.species=p2.species and p1.sex='f' and p2.sex='m';
-select database()
-desc pet;
-select distinct species from pet;
-create table shop(article int(4) unsigned zerofill default '0000' not n
ull,dealer char(20) default '' not null,price double(16,2) default '0.00' not
null,primary key(article,dealer));
-insert shop values(1,'A',3.45);
-INSERT INTO SHOP VALUES(1,'B',3.99);
-INSERT INTO SHOP VALUES(4,'D',19.95);
-SELECT * FROM SHOP;
-select max(article) as article from shop;
- select article,dealer,price from shop where price=(select max(price) fr
om shop);
-select article,dealer,price from shop order by price desc limit 1;
-select article,max(price) as price from shop group by article;
-select article,dealer,price from shop s1 where price=(select max(price)
 from shop s2 where s1.article=s2.article);
-select @min_price:=min(price),@max_price:=max(price) from shop;
- select * from shop where price=@min_price or price=@max_price;
-select @min_price;
-select @max_price;
-create table person(id smallint unsigned not null auto_increment,name c
har(60) not null,primary key(id));
-create table shirt(id smallint unsigned not null auto_increment,style e
num('t-shirt','polo','dress') not null,color enum('red','blue','orange','white
','black') not null,owner smallint unsigned not null references person(id),pri
mary key(id));
- insert into person values( null,'Antonio Paz');
-select @last:=last_insert_id();
- select @last;
-insert into shirt values(null,'polo','blue',@last);
-insert into shirt values (null,'dress','white',@last),(null,'t-shirt','
blue',@last);
- insert into person values(null,'Lilliana Angelovska');
-select @last:=last_insert_id();
-insert into shirt values (null,'dress','orange',@last),(null,'polo','re
d',@last),(null,'dress','blue',@last),(null,'t-shirt','white',@last);
-select * from person;
-select * from shirt;
-select s.* from person p,shirt s where p.name like 'Lilliana%' and s.ow
ner=p.id and s.color<>'white';
-show create table shirt\G
-SELECT field1_index, field2_index FROM test_table
WHERE field1_index = '1' OR  field2_index = '1'
-SELECT field1_index, field2_index
    FROM test_table WHERE field1_index = '1'
UNION
SELECT field1_index, field2_index
    FROM test_table WHERE field2_index = '1';


-select name from person where id=1
    -> union
    -> select name from person where id=2;
-select name from person where id=1 or id=2;
-create table t1 (year year(4),month int(2) unsigned zerofill,day int(2) unsi
gned zerofill);
-select year,month,bit_count(bit_or(1<<day)) as days from t1 group by yea
r,month;
-create table animals(
    -> id mediumint not null auto_increment,
    -> name char(30) not null,
    -> primary key(id)
    -> );
-insert into animals(name) values
    -> ('dog'),('cat'),('penguin'),('lax'),('whale'),('ostrich');
-select * from animals;
-ALTER TABLE tbl AUTO_INCREMENT = 100;
###w3school
-delete from animals where name='ostrich';
-delete from animals;
-delete * from animals;
-select * from persons limit 5;
-select * from persons where city like 'n%';
-select * from persons where city like '%n';
-select * from persons where city like '%n%';
-select * from persons where lastname like 'c_r_er';
-select * from persons where city like '[aof]%';
-select * from persons where city like '[^aof]%';
-select * from persons where lastname in ('adams',''carter);
-select * from persons where lastname between 'adams' and 'carter';
-select * from persons where lastname not between 'adams' and 'carter';
-select last_name_str as lns from persons;
-selec * from first_name_big_lag as fnbl;
-select po.orderid,p.lastname,p.firstname from persons as p,product_orders as po where p.lastname='adams' and p.firstname='john';
-select lastname as family,firstname as name from persons;
-select persons.lastname,persons.firstname,orders.orderno from persons,orders where persons.id_p=orders.id_p;
-select persons.lastname,persons.firstname,orders.orderno from persons inner join orders on person.id_p=orders.id_p order by persons.lastname;
-select persons.lastname,persons.firstname,orders.orderno from persons inner join orders o
n persons.id_p=orders.id_p;
-select persons.lastname,persons.firstname,orders.orderno from persons left join orders on persons.id_p=orders.id_p;
-select persons.lastname,persons.firstname,orders.orderno from persons right join orders on persons.id_p=orders.id_p;
-select persons.lastname,persons.firstname,orders.orderno from persons left join orders on persons.id_p=orders.id_p
    -> union
    ->  select persons.lastname,persons.firstname,orders.orderno from persons right join orders on persons.id_p=orders.id_p;
-select persons.lastname,persons.firstname,orders.orderno from persons left join orders on persons.id_p=orders.id_p
    -> union all
    ->  select persons.lastname,persons.firstname,orders.orderno from persons right join orders on persons.id_p=orders.id_p;
-select e_name from employees_china union all select e_name from employees_usa;
-create database my_db;
-create table personss (id_p int,lastname varchar(255),firstname varchar(255),
address varchar(255),city varchar(255));
-NOT NULL 约束强制列不接受 NULL 值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。
-create table personss (id_p int not null,lastname varchar(255) not null,first
name varchar(255),address varchar(255),city varchar(255));
-UNIQUE 约束唯一标识数据库表中的每条记录。和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
-drop table personss;
-drop database dd;
- create table personss (id_p int not null,lastname varchar(255) not null,first
name varchar(255),address varchar(255),city varchar(255),unique(id_p));
-create table personss (id_p int not null,lastname varchar(255) not null,first
name varchar(255),address varchar(255),city varchar(255),constraint uc_personid unique(id_p,lastname));
-alter table personss drop index uc_personid;
- alter table personss add unique index (firstname);
-PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键列不能包含 NULL 值。每个表应该都一个主键,并且每个表只能有一个主键
- create table personss (id_p int not null,lastname varchar(255),firstname varc
har(255),address varchar(255),city varchar(255),primary key (id_p));
-alter table personss add primary key (id_p);
-alter table personss drop primary key;
-个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
-create table orderss (id_o int not null,orderno int not null,id_p
int,primary key (id_o),foreign key (id_p) references personss(id_p));
-alter table orderss add primary key(id_o);
-ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
-ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrders
-DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
-create table personss(id_p int not null primary key,lastname varchar(255) not null,city varchar(255) default 'sandnes');
- alter table personss alter city set default 'new york';
-alter table personss alter city drop default;
-CREATE INDEX 语句用于在表中创建索引。
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询 更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
- create index index_name on personss(city);
-create unique index index_name1 on personss(lastname);
-create index on personss (city,lastname);
-create index on personss (city desc)
-通过使用 DROP 语句,可以轻松地删除索引、表和数据库。
-drop index index_name on personss;
- drop index index_name1 on personss;
-alter table personss drop index index_name;
-drop table personss;
-create database qq;
-drop database qq;
-ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
-alter table person add age int;
-alter table person drop column age;
-alter table person modify name varchar(20);
-alter table person change name new_name int;
-在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据
-create view person_view as
    -> select * from person;
-select * from person_view;
-DROP VIEW view_name
-内建Date处理函数
-select now();
-select curdate();
-select curtime();
-select date('20160501');
-select date('2016-05-01');
- select date('2016-05-01 12:00:00');
-select extract(second from '2016-05-01');
-select date_add('2016-05-01',interval 1 day);
-select date_add('2016-05-01',interval 1 month);
-select date_sub('2016-05-02',interval 1 day);
-select datediff('2016-05-10','2016-05-01');
-select datediff('2016-05-10','2016-05-01') date_dalta;
-select date_format(now(),'%b %d %y %h:%i %p');
-select date_format(now(),'%b-%d-%y');
-select date_format(now(),'%b/%d/%y');
-无法使用比较运算符来测试 NULL 值,比如 =, <, 或者 <>,我们必须使用 IS NULL 和 IS NOT NULL 操作符。
-select * from pet where death is not null;
-select * from pet where remark is null;
-SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
-SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products
-MySQL 数据类型 在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。
-text类型 char() varchar() tinytext  text blob mediumtext mediumblob longtext  longblob  enum(x,y,z,etc) set
-number类型
-tinyint() smallint() mediumint() int() bigint() float() doube() decimal()
-Date类型
-dae() datetime() timestamp() time() year()
-SQL函数
-SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
-在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
-SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000
-SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Customer HAVING SUM(OrderPrice)>1500
-SELECT MID(City,1,3) as SmallCity FROM Persons
-SELECT LEN(column_name) FROM table_name
-SELECT ROUND(column_name,decimals) FROM table_name
-SELECT ProductName, UnitPrice, FORMAT(FORMAT(),'YYYY-MM-DD') as PerDate
FROM Products

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值