mysql sql语句
创建 create
修改 alter
删除 drop
查看 show
1.1创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
COLLATE:指定数据库字符集的比较方式(校对规则)
create database mydb1;
create database mydb2 character set utf8;
create database mydb3 character set utf8 collate utf8_general_ci;
1.2 查看删除数据库
显示数据库语句:
SHOW DATABASES
显示数据库创建语句:
SHOW CREATE DATABASE db_name
数据库删除语句:
DROP DATABASE [IF EXISTS] db_name
show databases;
show create database mydb2;
drop database mydb3;
1.3 修改,备份、恢复数据库
ALTER DATABASE [IF NOT EXISTS] db_name [alter_specification[,alter_specification] ...]
alter_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
备份数据库表中的数据mysqldump -u 用户名 –p密码 数据库名 > 文件名.sql
恢复数据库Source 文件名.sql
alter database mydb2 character set gbk;
1.4 创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype
)character set charsetname collate collatename
field:指定列名 datatype:指定列类型
|
分类 |
数据类型 |
说明 |
|
数值类型 |
BIT(M) bit bit(8) TINYINT [UNSIGNED] [ZEROFILL] byte BOOL,BOOLEAN boolean SMALLINT [UNSIGNED] [ZEROFILL] short INT [UNSIGNED] [ZEROFILL] int BIGINT [UNSIGNED] [ZEROFILL] long FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] float DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] double |
位类型。M指定位数,默认值1,范围1-64 带符号的范围是-128到127。无符号0到255。 使用0或1表示真或假 2的16次方 2的32次方 2的64次方 M指定显示长度,d指定小数位数 表示比float精度更大的小数 |
|
文本、二进制类型 |
CHAR(size) char(20) max—255 abc VARCHAR(size) varchar(20) 65535 abcde String BLOB LONGBLOB 大的二进制数据 TEXT(clob) LONGTEXT(longclob) 大文本数据 |
固定长度字符串 可变长度字符串 二进制数据 大文本 |
|
时间日期 |
DATE/DATETIME/TimeStamp |
日期类型(YYYY-MM-DD) (YYYY-MM-DD HH:MM:SS),TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间 |
注意:创建表前,要先使用use db语句使用库。显示数据库中的所有表 show tables
create table person(name varchar(20),age int);
ALTER TABLE table ADD (column datatype [DEFAULT expr] [, column datatype]...);
ALTER TABLE table MODIFY (column datatype [DEFAULT expr][, column datatype]...);
ALTER TABLE table DROP (column);
alter table person add account int;
Insert语句 (增加数据)Update语句 (更新数据)Delete语句 (删除数据)Select语句 (查找数据)
INSERT INTO tablename [(column [, column...])]VALUES (value [, value...]);
插入空值,不指定或insert into table value(null) // “”
UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]
delete from tbl_name [WHERE where_definition]
SELECT [DISTINCT] *|{column1, column2. column3..} FROM table;
Select 指定查询哪些列的数据。column指定列名。*号代表查询所有列。From指定查询哪张表。DISTINCT可选,指显示结果时,是否剔除重复数据
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
); insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92);
insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);
insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);
SELECT*|{column1|expression, column2|expression,..}FROM table;
SELECT column as 别名 from 表名;
|
比较运算符 |
> < <= >= = <> |
大于、小于、大于(小于)等于、不等于 |
|
BETWEEN ...AND... |
显示在某一区间的值 |
|
|
IN(set) |
显示在in列表中的值,例:in(100,200) |
|
|
LIKE ‘张pattern’ |
模糊查询 |
|
|
IS NULL |
判断是否为空 |
|
|
逻辑运算符 |
and & |
多个条件同时成立 |
|
or | |
多个条件任一成立 |
|
|
not ! |
不成立,例:where not(salary>100); |
Like语句中,% 代表零个或多个任意字符,_ 代表一个任意字符,例first_name like ‘_a%’;
SELECTcolumn1, column2. column3..FROM table order by column asc|desc
Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的列名。Asc升序、Desc降序ORDER BY 子句应位于SELECT语句的结尾。
Select count(*)|count(列名) from tablename [WHERE where_definition]
Select sum(列名){,sum(列名)…} from tablename [WHERE where_definition]
Select avg(列名){,avg(列名)…} from tablename [WHERE where_definition]
Select max(列名) from tablename [WHERE where_definition]
http://www.w3school.com.cn/sql/index.asp
mysql sql语句的更多相关文章
- mysql sql语句大全(转载)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...
- MYSQL SQL语句技巧初探(一)
MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and, ...
- MySQL客户端工具的使用与MySQL SQL语句
MySQL客户端工具的使用 1.MySQL程序的组成 客户端 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_insta ...
- 利用tcpdump抓取mysql sql语句
这个脚本是我之前在网上无意间找个一个利用tcpdump 抓包工具获取mysql流量,并通过过滤把sql 语句输入. 脚本不是很长,但是效果很好. #!/bin/bash #this script us ...
- 程序员实用的 MySQL sql 语句
这儿只讲究实用, 程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...
- MySQL SQL语句分析查询优化
如何获取有性能问题的SQL 1.通过用户反馈获取存在性能问题的SQL 2.通过慢查询日志获取性能问题的SQL 3.实时获取存在性能问题的SQL 使用慢查询日志获取有性能问题的SQL 首先介绍下慢查询相 ...
- mysql sql语句执行时是否使用索引检查方法
在日常开发中,使用到的数据表经常都会有索引,这些索引可能是开发人员/DBA建表时创建的,也可能是在使用过程中新增的.合理的使用索引,可以加快数据库查询速度.然而,在实际开发工作中,会出现有些sql语句 ...
- MYSQL SQL语句优化
1.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我们要重点关注的数据: type列,连接类型.一个好的SQL语句至少要 ...
- mysql sql语句最大长度设置方法
今天发现了一个错误:Could not execute JDBC batch update 最后发现原因是SQL语句长度大于1M,而我机器上的mysql是默认设置,也就是说mysql通讯的数据包大小设 ...
- 自制小工具大大加速MySQL SQL语句优化(附源码)
引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...
随机推荐
- Dive in python Chapter3 实例
def buildConnectionString(params): """Build a connection string from a dictionary Ret ...
- Kruskal算法的实现
#include "stdio.h" #include "stdlib.h" struct edge { int m; int n; int d; }a[]; ...
- CrawlScript脚本语言实现网络爬虫
前段时间我们学习了几种爬虫技术,我们来回顾一下,webCollector,htmlParser,Jsoup,各有优劣,但是如果能灵活运用,其实都是很不错的.那么,今天呢,我们来学习一种脚本语言,这是一 ...
- Memcache存储机制与指令汇总
1.memcache基本简介 memcached是高性能的分布式内存缓存服务器.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性. Memcach ...
- RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决
RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决 前言 最近学习React Native技术.将RN引入到原来Xcode项目中有一步:给原来Xcode项目添加所需要的Pod依赖 写好Po ...
- poptest老李谈分布式与集群 1
poptest老李谈分布式与集群 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:90882 ...
- 测试开发Python培训:自动发布新浪微博-技术篇
测试开发Python培训:自动发布新浪微博-技术篇 在前面我们教大家如何登陆,大家需要先看自动登陆新浪微博(http://www.cnblogs.com/laoli0201/articles/48 ...
- Android实现网络多线程断点续传下载
本示例介绍在Android平台下通过HTTP协议实现断点续传下载. 我们编写的是Andorid的HTTP协议多线程断点下载应用程序.直接使用单线程下载HTTP文件对我们来说是一件非常简单的事.那么,多 ...
- C/C++中数组与指针的关系探究
数组与指针 长期以来,在C/C++中,数组名和指向数组首元素的指针常量到底是以一种什么关系,一直困扰着很多人.很多地方,甚至是一些教科书中都在说,"数组名就是一个指向数组首元素的指针常量&q ...
- 六行python代码的爱心曲线
前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...