mysql数据库笔记

虽然select语句可以一次性查出所有的数据,但受计算机屏幕大小的限制,每次只能看到部分行的内容,要看其它内容的时候就要用到滚动条。由于网络的限制,对于web应用来说,这种方式的效率非常低下,数据量比较大的时候几乎是不能使用的。

事实上,通常采用的方法是根据屏幕的大小,一次只查出部分行并显示,如果要看其它的内容,通常采用分页的方式。

那如何在SQL语句中查部分行的内容呢?就要用到limit关键字了。

kingbase中可以用下面的语句:

1、查询第一行记录:
  select *
from 表名 limit 1
2、查询第n行到第m行记录
  select * from 表名 offset
n-1 limit m-n;
3、查询前n行记录
  select * from 表名 limit n;

mysql中可以用下面的语句:

1、查询第一行记录:
  select *
from 表名 limit 1
2、查询第n行到第m行记录
  select * from 表名 limit
n-1,m-n;
3、查询前n行记录
  select * from 表名 limit n;

上面的n和m可以通过计算得到,比如用“select count(*) from
表名”先得到所有的数据的个数,再根据每一个页面能够显示的项目数,进行简单的计算,就可以得到想要得结果。

灵活运用上面的语句有时可以起到意想不到的效果!比如要查找选修课程最多的学生的学号和选课数可以只用下面的一条语句就可以实现了。

select
学号,count(课程号) 选课数 from 学生选课.选课 group by 学号 order
by 选课数 desc limit 1;

当然如果只想查出选修课程最多的学生的学号就要麻烦一些了,用下面的语句

select 学号
from(select 学号,count(课程号) 选课数 from 学生选课.选课 group
by 学号) t order by t.选课数 desc limit 1;

创建表
create tabel 表名
create table customers
(
  cust_id    int        not null auto_increment,
                --不能为空,增量(可以付初始值))
  cust_name    char(50)    not null,
  cust_address    char(50)    null,
  cust_city    char(50)    null,
  cust_state    char(5)        null,
  cust_zip    char(10)    null,
  cust_country    char(50)    null,
  cust_contact    char(50)    null,
  cust_email    char(50)    null,

primary key(cust_id)
--指定主键
)engine=innodb;
--引擎

组合主键
primary key(order_num,order_item)
--删除数据库
drop database 数据库名字
------------------------------------------------------------
create table customers
(
  item_price decimal(8,2)    not null,
  cust_name    char(50)    not null,
  quantity    int        not null default 1,
  cust_address    char(50)    null,
  cust_city    char(50)    null,
  cust_state    char(5)        null,
  cust_zip    char(10)    null,
  cust_country    char(50)    null,
  cust_contact    char(50)    null,
  cust_email    char(50)    null,
  primary key(cust_id,quantity)
--指定主键
)engine=innodb;
------------------------------------------------------------------
--给vendors表增加一个vend_phone的列表
alter table vendors
add vend_phone char(20);
--删除整个表
drop table customers2;
--重命名表
rename table customers2 to customers;
--删除列
alter table vendors
drop column vend_phone;

只修改列的数据类型的方法:

通常可以写成 alter table 表名 modify column 列名 新的列的类型

例如:student表中列sname的类型是char(20),现在要修改为varchar(20),SQL语句如下

alter table student modify column sname varchar(20);

同时修改列名和列的数据类型的方法:

通常可以写成 alter table 表名 change column 旧列名 新列名 新的列类型

例如:student表中列sname的类型是char(20),现在要修改为stuname
varchar(20),SQL语句如下

alter table student change column sname stuname
varchar(20);
----------------------------------------------------------------------------------------------------
--插入行
insert into customers
(
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country,
    cust_contact,
    cust_email
)
values
(
    null,
    ‘pep e.lapew‘,
    ‘100 main street‘,
    ‘los angeles‘,
    ‘ca‘,
    ‘90046‘,
    ‘usa‘,
    null,
    null,
);
--插入多行
insert into customers
(
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country
)
values
(
    ‘pep e,lapew‘,
    ‘100 main street‘,
    ‘los angeles‘,
    ‘ca‘,
    ‘90046‘,
    ‘usa‘    
),
values
(
    ‘m.martian‘,
    ‘42 galaxy way‘,
    ‘new york‘,
    ‘ny‘,
    ‘11213‘,
    ‘usa‘
);
--表插入到表
insert into customers
(
    cust_id,
    cust_contact,
    cust_email,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country
)
select cust_id,
    cust_coutact,
    cust_email,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country
--从custnew里面
from custnew;
------------------------------------------------------------------------
修改行
update customers
set     cust_email = ‘[email protected]‘
    cust_name = ‘the fudds’
where     cust_id = 10005;
删除值
update customers
set    cust_email = null
where     cust_id = 10005;
删除一行
delete from customers
where cust_id = 10006;
修改所有行

----------------------------------------------------------------------------
--降低into优先级
insert low_priority into
--降低update优先级
insert low_priority update
--降低delete优先级
insert low_priority delete

mysql数据库笔记,布布扣,bubuko.com

时间: 2024-10-23 04:28:44

mysql数据库笔记的相关文章

Unity3D 连接MySQL数据库笔记1-安装MySQL数据库

本教程使用的是MySQL5.0版本 一路下一步安装,到3个选项这里 选择自定义 在“MySQL Server(MySQL服务器)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上 直接下一步安装下一步 知道 出现这个 勾选,现在开始配置MySQL 继续下一步,到这个图这里 选择配置方式,“Detailed Configurati

Unity3D 连接MySQL数据库笔记3-SQL建表

打开  Navicat MySQL管理工具 连接到数据库 选择 test 数据库 点击 查询 输入对应的 sql命令 create table tuser( uname varchar(20) not null primary key, upwd varchar(20) not null ); create table p_info( pkey varchar(15) not null primary key, pname varchar(20) not null, psex varchar(2

Unity3D 连接MySQL数据库笔记4-Unity3d代码

新建Unity3D项目 新建一个 Plugins文件夹 把所需要的DLL放到 Plugins中 新建C#脚本 命名为ToMysql.cs 不多说了 ,直接上代码,很简单  有注释 ,大家一看就明白了 using UnityEngine; using System; using System.Collections; using System.Data; using MySql.Data.MySqlClient; public class ToMysql : MonoBehaviour { pub

Windows宿主机访问Ubuntu中mysql数据库笔记

1.网络 既然要远程ubuntu的系统.那么首先是两个网络是不是在一个网段.能不能ping的通? a)  Windows电脑上--cmd 打开命令窗口.键入:ipconfig 命令.查看主机IP. b)  ubuntu系统.ctrl + alt + F1打开命令终端.键入ifconfig 命令.查看ubuntu上网IP. c)  然后在ubuntu系统终端键入:ping +Windows上网的IP.查看是否ping的通.不可以则检查网络情况.以及是否在一个网段.ping的通在进行下一步 d) 

mysql 数据库笔记-基本查询(分组、聚合函数)

SELECT COUNT(*) FROM T_Employee WHERE FAge=23;  //查看人数 ALTER TABLE T_Employee ADD FSubCompany VARCHAR(20); ALTER TABLE T_Employee ADD FDepartment VARCHAR(20);  //为T_Employee表增加两列 UPDATE T_Employee SET FSubCompany='Beijing',FDepartment='Development' W

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat

很多公司尤其有点年头的公司,财务业务部门的各种表单都是excel来做的表格,随着互联网的发展各种业务流程都电子化流程化了,再在茫茫多的文档中去查找某一个年份月份的报告是件相当枯燥的事,所以都在想办法将以前的数据直接导入现代智能化的办公程序道中,在这里可能很多初级程序员都会有些挠头不知所措,下面来介绍下我的小经验,希望能为大家提供便利! 工具/原料 首先做一下说明,为什么我要用Navicat,第一个原因,因为它是个不错的Mysql GUI工具,更重要的是,它可以将一些外部数据源导入Mysql数据库

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

MYSQL数据库学习笔记1

MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 修改表 表的增删查改 查询 数据库概念 数据库是一种对大量信息进行管理的一种方法. 数据库系统从结构上看,也是可以分为三层的: 物理层:数据实际如何存储 逻辑层:存储的是什么数据,以及数据间是什么关系 试图层:提供给用户的部分数据 关系数据库 目前关于数据库模型最主流的有两种, 一种叫做关系型数据库,这