MySQL语法大全_自己整理的学习笔记

select * from emp;  #凝视
#---------------------------
#----命令行连接MySql---------

#启动mysqlserver
net start mysql

#关闭  
net stop mysql
 
#进入
mysql -h 主机地址 -u username -p 用户password

#退出
exit

#---------------------------
#----MySql用户管理---------

#改动password:首先在DOS 下进入mysql安装路径的bin文件夹下,然后键入下面命令:
mysqladmin -uroot -p123 password 456;

#添加用户
#格式:grant 权限 on 数据库.* to username@登录主机 identified by 'password'
/*
如。添加一个用户user1密码为password1,让其能够在本机上登录。 并对全部数据库有查询、插入、改动、删除的权限。首先用以root用户连入mysql,然后键入下面命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
假设希望该用户可以在不论什么机器上登陆mysql。则将localhost改为"%"。
假设你不想user1有password,能够再打一个命令将password去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
*/

grant all privileges on wpj1105.* to sunxiao@localhost identified by '123';   #all privileges 全部权限

#----------------------------
#-----MySql数据库操作基础-----

#显示数据库
show databases;

#推断是否存在数据库wpj1105,有的话先删除
drop database if exists wpj1105;

#创建数据库
create database wpj1105;

#删除数据库
drop database wpj1105;

#使用该数据库
use wpj1105;

#显示数据库中的表
show tables;

#先推断表是否存在,存在先删除
drop table if exists student;

#创建表
create table student(
id int auto_increment primary key,
name varchar(50),
sex varchar(20),
date varchar(50),
content varchar(100)
)default charset=utf8;

#删除表
drop table student;

#查看表的结构
describe student;  #能够简写为desc student;

#插入数据
insert into student values(null,'aa','男','1988-10-2','......');
insert into student values(null,'bb','女','1889-03-6','......');
insert into student values(null,'cc','男','1889-08-8','......');
insert into student values(null,'dd','女','1889-12-8','......');
insert into student values(null,'ee','女','1889-09-6','......');
insert into student values(null,'ff','null','1889-09-6','......');
#查询表中的数据
select * from student;
select id,name from student;

#改动某一条数据
update student set sex='男' where id=4;

#删除数据
delete from student where id=5;

# and 且
select * from student where date>'1988-1-2' and date<'1988-12-1';

# or 或
select * from student where date<'1988-11-2' or date>'1988-12-1';
 
#between
select * from student where date between '1988-1-2' and '1988-12-1';

#in 查询制定集合内的数据
select * from student where id in (1,3,5);

#排序 asc 升序  desc 降序
select * from student order by id asc;

#分组查询 #聚合函数
select max(id),name,sex from student group by sex;

select min(date) from student;

select avg(id) as '求平均' from student;

select count(*) from student;   #统计表中总数

select count(sex) from student;   #统计表中性别总数  若有一条数据中sex为空的话,就不予以统计~

select sum(id) from student;

#查询第i条以后到第j条的数据(不包含第i条)
select * from student limit 2,5;  #显示3-5条数据

#巩固练习
create table c(
 id int primary key auto_increment,
 name varchar(10) not null,
 sex varchar(50) ,  #DEFAULT '男' ,
 age int unsigned, #不能为负值(如为负值 则默觉得0)
 sno int unique    #不可反复
);

drop table c;
desc c;

insert into c (id,name,sex,age,sno) values (null,'涛哥','男',68,1);
insert into c (id,name,sex,age,sno) values (null,'aa','男',68,2);
insert into c (id,name,sex,age,sno) values (null,'平平','男',35,3);
...

select * from c;

#改动数据
update c set age=66 where id=2;
update c set name='花花',age=21,sex='女' where id=2
delete from c where age=21;

#经常使用查询语句
select name,age ,id from c
select * from c where age>40 and age<60;  #and
select * from c where age<40 or age<60;  #or
select * from c where age between 40 and 60 #between
select * from c where age in (30,48,68,99);     #in 查询指定集合内的数据
select * from c order by age desc;      #order by (asc升序 des降序)

#分组查询
select name,max(age) from c group by sex;  #按性别分组查年龄最大值
#聚合函数
select min(age) from c;
select avg(age) as '平均年龄 ' from c;
select count(*) from c;  #统计表中数据总数
select sum(age) from c;

#改动表的名字
#格式:alter table tbl_name rename to new_name
alter table c rename to a;
 
#表结构改动
create table test
(
id int not null auto_increment primary key, #设定主键
name varchar(20) not null default 'NoName', #设定默认值
department_id int not null,
position_id int not null,
unique (department_id,position_id) #设定唯一值
);

#改动表的名字
#格式:alter table tbl_name rename to new_name
alter table test rename to test_rename;

#向表中添加一个字段(列)
#格式:alter table tablename add columnname type;/alter table tablename add(columnname type);
alter table test add  columnname varchar(20);

#改动表中某个字段的名字
alter table tablename change columnname newcolumnname type;  #改动一个表的字段名
alter table test change name uname varchar(50);

select * from test;

#表position 添加列test
alter table position add(test char(10));
#表position 改动列test
alter table position modify test char(20) not null;
#表position 改动列test 默认值
alter table position alter test set default 'system';
#表position 去掉test 默认值
alter table position alter test drop default;
#表position 去掉列test
alter table position drop column test;
#表depart_pos 删除主键
alter table depart_pos drop primary key;
#表depart_pos 添加主键
alter table depart_pos add primary key PK_depart_pos
(department_id,position_id);

#用文本方式将数据装入数据库表中(比如D:/mysql.txt)
load data local infile "D:/mysql.txt" into table MYTABLE;

#导入.sql文件命令(比如D:/mysql.sql)

source d:/mysql.sql;  #或者  /. d:/mysql.sql;

MySql分页技术实现!

MySQL实现数据分页依靠的是limit这个属性!

1. 标准查询语句:

select * from table(表名) limit startPos,pageSize

小结:
1.startPos:定义当前页起始位置 注意:当前页的起始位置仅仅能在当前页确定之后才干定义;

2.pageSize:定义每页显示数据的条数

3.假设给定2个參数。第一个指定要返回的第一行的偏移量。第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。

如:select * from table LIMIT 5,10;           这个查询出来的是第6到15之间的10条数据

假设给定一个參数。它指出返回行的最大数目。

如:select * from table LIMIT 5;                 这个查询出来的是前5条数据

(LIMIT n等价于LIMIT 0,n


MySql基本的语法(学习笔记)相关推荐

  1. MySQL语法学习笔记

    MySQL语法学习笔记 学习之道,非尽心竭力者不能进也!我是小七黛,欢迎查看我的笔记,有问题欢迎交流探讨. SQL是一种结构查询语言,用于查询关系数据库的标准语言,包括若干关键字和一致的语法,便于数据 ...

  2. MySQL实战45讲学习笔记

    文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...

  3. 从零开始带你成为MySQL实战优化高手学习笔记(一)

    重复是有必要的. 很多新入职的小朋友可能和现在的我一样,对数据库的了解仅仅停留在建库建表增删改查这些操作,日常工作也都是用封装好的代码,别说底层原理了,数据库和系统之间是如何工作都不是很懂. 长此以往 ...

  4. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  5. Verilog HDL 语法学习笔记

    今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...

  6. VHDL语法学习笔记:一文掌握VHDL语法

    今天给大侠带来FPGA 之 VHDL 语法学习笔记,话不多说,上货. VHDL语法学习笔记 一.VHDL简介 1.1 VHDL 的历史 VHDL 的 英 文 全 名 是 Very-High-Speed ...

  7. 《姜承尧的MySQL实战宝典》学习笔记

    <姜承尧的MySQL实战宝典>学习笔记 1 表结构设计 1.1 数字类型 1.1.1 整形类型 1.1.2 浮点类型和高精度型 1.1.3 实战--整型类型与自增设计 1.1.4 实战-- ...

  8. ci mysql 事务_MySQL事务-学习笔记

    MySQL事务-学习笔记 MySQL事务 事务的意义 案例:银行转账过程 A向B转账500,A原来有1000,B有500. 分析: SQL处理过程: A 减少 500 B 增加 500 以上两点必须同 ...

  9. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...

  10. mysql 临时表 事务_MySQL学习笔记十:游标/动态SQL/临时表/事务

    逆天十三少 发表于:2020-11-12 08:12 阅读: 90次 这篇教程主要讲解了MySQL学习笔记十:游标/动态SQL/临时表/事务,并附有相关的代码样列,我觉得非常有帮助,现在分享出来大家一 ...

最新文章

  1. 粒子滤波 应用_如何使用NativeScript开发粒子物联网应用
  2. android 图片读写,Android系统中图片的读写
  3. 电荷泵式开关电源的基本电路
  4. java web mvc思想介绍
  5. 洗礼灵魂,修炼python(54)--爬虫篇—urllib2模块
  6. 讲讲Linq to SQL映射(基础篇)
  7. php api json,PHP API接口必备之输出json格式数据实例详解
  8. createtrackbar函数_【3】OpenCV图像处理模块(10)inRange函数实现阈值化,HSV图像分割...
  9. Java ArrayList contains()方法及示例
  10. centos yum 安装mysql
  11. matlab安装详解
  12. 一步步学习SPD2010--第十四章节--在Web页面使用控件(2)--使用标准ASP.NET服务器控件...
  13. mscaffe 训练minist数据
  14. 计算机没有无线网卡驱动程序,win10系统的无线网卡驱动没了的解决方法
  15. 鸡兔同笼c语言编程穷举,C语言程序设计100例之(1):鸡兔同笼
  16. 并查集(UnionFind)算法
  17. 【洋桃电子】STM32入门100步-01
  18. uni-app 前后端实战课 - 《悦读》学习笔记:【创建项目、后端环境介绍】小程序开发实例教程1/
  19. 亚马逊广告投放策略卖家们知多少?
  20. 最短路Dijkstra+Floyd

热门文章

  1. 19【推荐系统19】SNR:多任务学习
  2. linux 测试t3协议,Yealink网络电话SIP-T38G本地文件包含漏洞
  3. 基于php mysql技术_基于PHP和MySQL技术的网络教学平台构建
  4. curl有时获取不到数据 什么原因导致_缓存击穿导致 golang 组件死锁的问题分享...
  5. rapidminer员工离职分析_员工一言不合就离职怎么破?我有Python员工流失预警模型...
  6. 《Android Framework-跨进程通信高级实战课》笔记
  7. Flutter进阶第6篇: 获取设备信息 以及 使用高德Api获取地理位置
  8. Linux 下面解压.tar.gz 和.gz文件解压的方式
  9. Eclipse — 导包异常总结《I》
  10. L1-011 A-B (20 分)—团体程序设计天梯赛