create database if not exists yang;
 
 drop database if exists yang;
 
  show databases; 
 show databases like 'yang%';
  
  create table yang_tableOne(name varchar(50),age int(20),address varchar(50));
 
show tables from yang;
show tables from yang like 'yang_%';
 
use yang;
create table yang_tableTwo(id int null default '444',age int(40) null default '20');
 
desc yang_tableOne;
describe yang_tableOne;
show columns from yang_tableOne; 
 
insert into yang_tableOne values('yanger','29','beijing'), ('wangwu','23',' nanjing');
insert yang_tableOne set name='zhaosi', age='22',address='wuhan'; //只能设置一条数据
 
update yang_tableOne set age='24' where name='yanger';
 
delete from yang_tableOne where name='yanger';
 
select * from yang_tableOne;
select  id, age  from yang_tableOne where age='40';
select (20+2*10)/4; //求值
 
 
create table yang_tableTwo (id int not null auto_increment primary key, weight int null default '250');
insert into yang_tableTwo values('1','23');
insert  yang_tableTwo values();//会插入一个(2,null)
insert  yang_tableTwo values();//会插入一个(3,null)
insert  yang_tableTwo values();//会插入一个(4,null)
 
 
create table yang_tableThree  select * from yang_tableTwo;//复制一个表结构

第三种语法表示:查看某个数据库表中的索引;例如

  1. show index from yang_tableTwo from yang;
 

alter修改表结构


有时你可能需要改变一下现有表的结构,那么alter table语句将是你的合适选择。

增加列

  1. alter table tbl_name add col_name type

例如增加一个weight列:

  1. alter table test01_01 add weight int;

修改列

  1. alter table test01_01 modify weight varchar(50);

删除列

  1. alter table test01_01 drop weight;

另外一种常用方式,例如:

给列更名

  1. alter table test01_01 change weight wei int;

给表更名

  1. alter table test01_01 rename test01_04;

drop删除数据库表


drop table删除一个或多个数据库表。所有表中的数据和表定义均被删除,故小心 使用这个命令!
在MySQL 3.22或以后版本,你可以使用关键词 if exists 类避免不存在表的一个错 误发生。语法如下:

  1. drop table [if exists] tbl_name [, tbl_name,...]

例如删除test01_04这个表,要删除多个表,在后面用逗号隔开即可。例句:

  1. drop table if exists test01_04;
 

insert添加数据


前面我们学习了数据库,数据库表,接下来我们学习一下操作表中的数据。

让我们开始利用 insert 语句来增加记录,这是一个 SQL 语句,需要为它指定希望插入数据行的表或将值按行放入的表。如果你设置了主键并且自动增长,添加的时候需要把对应的主键值设置为null或者数字“0”。

基本语法:

  1. insert [into] tbl_name [(col_name,...)] VALUES (pression,...)
  2. insert [into] tbl_name SET col_name=expression

“into”一词自 MySQL 3.22.5 以来是可选的。(这一点对其他形式的insert 语句也成立。)values表必须包含表中每列的值,并且按表中列的存放次序给出。(一般, 这就是创建表时列的定义次序。如果不能肯定的话,可使用describe tbl_name来查看这个次序。)。 看一下实例:

可指定所有列的值:

  1. insert test01_01 values(null,'jack','23','beij');

使用多个值表,可以一次提供多行数据:

  1. insert test01_01 values('jack','23','beij'),('grey','34','ah');

可以给出要赋值的那个列,然后再列出值。这对于希望建立只有几个列需要初始设置 的记录是很有用的:

  1. insert test01_01(name) values('gery');
  2. insert test01_01(name) values('mack'),('rose');
  3. insert test01_01 set name='sara';//使用这种形式的 insert 语句不能插入多行

insert...select添加数据


当我们在上一节学习创建表时,知道可以使用select从其它表来直接创建表,甚至可以同时复制数据记录。如果你已经拥有了一个表,你同样可以从select语句的配合中获益。

基本语法:

  1. insert into tb_name select * from tb_name1;//表结构完全一致
  2. insert into tb_name(col1) select col1 from tb_name1;//取某个值添加

insert into ... select语句满足下列条件:

1:查询不能包含一个order by子句

2:insert语句的目的表不能出现在select查询部分的from子句,因为这在ANSI SQL中被禁止让从你正在插入的表中select.问题是select将可能发 现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆

看下面实例:

  1. insert into test01_03 select * from test01_01;
  2. insert into test01_03(name) select name from test01_01;
  eate table yang1_three (id int not null auto_increment pr

select查询


除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就 是select语句的用途,即帮助取出数据。select大概是SQL语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间 的比较。本节介绍select语句关于查询的最基本功能。 select语句的语法如下:

  1. select selection_list //选择哪些列
  2. from table_list //从何处选择行
  3. where primary_constraint //行必须满足什么条件
  4. group by grouping_columns // 怎样对结果分组
  5. having secondary_constraint //行必须满足的第二条件
  6. order by sorting_columns //怎样对结果排序
  7. limit count //结果限定

注意:所有使用的关键词必须精确地以上面的顺序给出。例如,一个having子句必 须跟在group by子句之后和order by子句之前

上述语法中除了select关键字之外,其他每样东西都是可选的。有些数据库需要用from关键字,但是MySQL允许对表达式求值而不引用任何表im
 

普通查询


select最简单的形式是从一张表中检索每样东西

基本语法:

  1. select columns from tb_name;

columns是列名称,可以写成*号,表示查询所有列;也可以指定某个列。tb_name是你的目标数据库表。

看两个例子:

  1. select <em> from test01_01;//查询当前表里所有的列的数据
  2. select name,age from test01_01;//查询当前表里name列和age列的所有数据
  3. select (2+3</em>4.5)/2.5;//表达式求值而不引用任何表

不必每次查询都返回所有的行记录,你能从你的表中只选择特定的行。你可以使用where或者having,这里我们只讲where语句,因为where能实现having绝大部分功能

基本语法:

  1. select columns from tb_name where expression..;

expression的表现形式很多,例如name='jack',age>=20,name='jack' or name ='tom'等等,都可以写在where表达式后面。

看一个例子:

  1. select * from test01_01 where name ="tom";//筛选出当前表中name的值是tom的所有数据。
  2. 查询排序

使用order by子句对查询返回的结果按一列或多列排序。order by子句的语法 格式为:

  1. order by column_name [asc|desc] [,…]

其中asc表示升序,为默认值,desc为降序。order by不能按text、text和image数据类型进行排序。另外,可以根据表达式进行排序

看下面实例:

  1. select * from test01_01 order by age asc;//按照年龄升序输出

注意desc/asc关键词仅适用于紧跟在它之前的列名字

从选用test01数据库,test01_01表中查询结果,并按照年龄降序显示
 

分组和行计数


group by从句根据所给的列名返回分组的查询结果,可用于查询具有相同值的列

基本语法:

  1. group by col_name,….

单独使用group by没有任何意义,它的真正作用在于与各种组合函数配合,用于行计数

看下面实例:

  1. select name,count(*) from test01_01 group by name;//按name分组,并且统计数量

如果你除了计数还返回一个列的值,那么必须使用group by语句,否则无法计算记录,产生错误。

多表查询


查询多个表,from子句列出表名,并用逗号分隔,因为查询需要从他们两个拉出信息

基本语法:

  1. select t1.name,t2.name from tb_name1 as t1,tb_name2 as t2 where t1.name=t2.name;

上述代码表示,从t1和t2中取出两张表name相同的值。as表示为这个表取别名。

实例如下:

  1. select t1.name as t1name,t1.age as t1age,t2.name as t2name,t2.age as t2age
  2. from test01_01 as t1,test01_03 as t2 where t1.name=t2.name;
选用test01数据库,查询出test01_01表中与test01_02表中地址相同的数据
 

update更新数据


修改数据我们用update更新,这是最常用的更新数据语句,我们看下语法

  1. update tbl_name SET 要更改的列
  2. where 要更新的记录

这里的 where 子句是可选的,因此如果不指定的话,表中的每个记录都被更新。

实例如下:

  1. update test01_03 set name='tom' where age= '20';
选用test01数据库,修改test01_01表中地址是“USA”的修改成地址是“CHINA”
 

delete删除数据


删除一条语句,我们常用delete关键字。语法定义:

  1. delete from tbl_name where 要删除的记录

where子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味着最简单的delete语句也是最危险的

实例如下:

  1. delete from test01_01 where age=10;//删除年龄为10的数据
请选用test01数据库,删除test01_01表中名字是jery的数据
ary key,weigh
t int);

te table yang1_three (id int not null auto_increment primary key,weigh

t int);

mySql 基本语法学习笔记的更多相关文章

  1. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  2. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  3. 毕业设计 之 五 PHP语法学习笔记

    毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...

  4. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  5. MarkDown语法 学习笔记 效果源码对照

    MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...

  6. mySQl数据库的学习笔记

    mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...

  7. doy05循环语法学习笔记

    doy05循环语法学习笔记 一.while循环语法: 1.基本用法示例 x = 1 while x <= 5: print(x) x += 1 2.死循环:永远不结束的循环 如:while Tr ...

  8. PHP和MySQL Web开发学习笔记介绍

    前言 从2016年2月1日开始,之后的几个月左右的时间里,我会写一个系列的PHP和MySQL Web开发的学习笔记.我之前一直从事Java语言的开发工作,最近这段时间非常想学习一门语言,就选择了PHP ...

  9. MySQL索引知识学习笔记

    目录 一.索引的概念 二.索引分类 三.索引用法 四 .索引架构简介 五.索引适用的情况 六.索引不适用的情况 继我的上篇博客:Oracle索引知识学习笔记,再记录一篇MySQL的索引知识学习笔记,本 ...

随机推荐

  1. JSON生成c#类代码小工具

    JSON生成c#类代码小工具 为什么写这么个玩意 最近的项目中需要和一个服务端程序通讯,而通讯的协议是基于流行的json,由于是.net,所以很简单的从公司代码库里找到了Newtonsoft.dll( ...

  2. python画柱状图

    #coding:utf-8 __author__ = 'similarface' from collections import defaultdict PMRAdata=defaultdict(li ...

  3. SSH框架总结

    首先,SSH是由多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责 ...

  4. [Docker] Docker简介

    一.简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间 ...

  5. DOM操作方法的简单归纳

    (1)要在每个匹配的元素中插入新元素,使用: .append() .appendTo()   .prepend() .prependTo() (2)要在每个匹配的元素相邻的位置上插入新元素,使用: . ...

  6. 使用cocos2d-x c++ Android静态库

    在用cocos2d-x做Android开发时,每次clean后都会需要再次编译coco2d-x的库,十分耗时. 这里给出一个直接使用静态库而不用每次都编译源码的方法: 1\ 首先找到一个cocos2d ...

  7. Linux下配置Node.js环境

    1.下载代码 下载地址:https://nodejs.org/en/download/ 下载Linux Binaries (.tar.xz)版本,位数根据操作系统位数选择 2.复制代码包 用FTP上传 ...

  8. spring设置全局异常处理器

    1.spring设置全局异常,它的原理是向上捕获 spring.xml配置 <!--自定义全局异常处理器--> <bean id="globalExceptionResol ...

  9. 转载:《TypeScript 中文入门教程》

    缘由 事情是这样的,我想搜索 TypeScript 中文教程,结果在 https://www.baidu.com , https://cn.bing.com ,上都找不到官方的翻译,也没有一个像样的翻 ...

  10. postgres 类型转换 cast 转

    转自: http://blog.csdn.net/yufenghyc/article/details/45869509 --1 例子postgres=# select 1/4; ?column? -- ...