mysql的安装可见: http://www.cnblogs.com/wenbronk/p/6840484.html

很久不用mysql, 今天建表都不会了, , ,

慢慢补充

sql语言分为3种: DDL, DML, DCL

DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。

DDL

ddl的操作主要是针对数据库和数据表的

CREATE:用于创建数据库对象。
DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。
DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。
ALTER:允许修改某些数据库对象的信息。不能修改索引。

1, 对数据库的操作

1, 创建数据库

create database test;
create database test character set utf-8;   # 设置编码

2, 查看数据库

show databases;

3, 使用数据库

use test;

4, 查看当前使用的数据库

select database();

5, 查看数据库结构

show create database test;

6, 删除数据库

drop database test;

2, 对数据表的操作

1, 建表, 格式: 列名 数据类型(长度) (约束)

create table sys_user(
id int() not null primary key auto_increment,
name char() not null,
sex int() not null default '',
degree double(,),
  unique name_index(sys_user)  # 创建name的唯一索引
);

建表一般预留3列, 为varchar类型, 具体看需求

2, 查询表

show sys_user;     # 显示当前库下的表
desc sys_user; # 显示表结构
show create table sys_user; #

3, 删除表

drop table sys_user;

4, 数据备份 (小数据量)

create table new_user select * from sys_user;

5, 修改表结构

# 修改表名
rename table sys_user to new_user; # 添加列
alter table sys_user add addre varchar() not null; # 修改列名
alter table sys_user change sex new_sex; # 修改列类型
alter table sys_user modify addre varchar(); # 删除列
alter table sys_user drop sex;

3, 索引操作

详细见: http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html

# 创建索引
create index name_index on sys_user(name); # 创建唯一索引
create unique index name_index on sys_user(name);
alter table sys_user add unique name_index(sys_user); # 删除索引
drop index name_index on sys_user; #查看索引
show index from sys_user;

DML

dml主要是针对数据的操作, 主要分为4大类, CRUD操作

1, 增

insert into 表名 (列1, 列2..) values ( 值1, 值2)    # 一一对应即可
insert into 表名 values (值1, 值2, ..) # 和表的列一一对应

2, 删

delete from 表名;        # 删除表中所有数据, auto_increment不会重置

# 加上where子句, 条件删除
delete from 表名 where money > and money < ;

3, 改

update sys_user set name='vini', sex='woman' where id=;    # 不加where子句, 会全部修改

4, 查

select u.username, u.password from user u;

5, 聚合查询 ( 纵向查询, 不统计null值)

# count
select count(name) as '总数' from sys_user
select count(DISTINCT(name)) as '总数' from sys_user; # 使用distinct函数去重 # sum
select sun(IS NULL(num)) from sys_user; # 使用 is null 去除为null的 #max, min, avg
select max(money) from sys_user;

6, where 子句

比较运算符: >, < >=, <=, !=(<>)
逻辑运算符: and, or, not
在范围内: between..and..
指定值: in(值1, 值2, 值3)
模糊匹配: like
null: is not null 不为空 select * from sys_user where money > and addr like '%北京%' or money between and ;

7, 分组

group by

having: 只在在group by后面, 分组后对结果再次过滤

8, 排序

order by

更改编码集

sql-DDL, DML 常用语句的更多相关文章

  1. SQL DDL 数据定义语句

    前言 DDL(Data Definition Language)语句:数据定义语句,这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象.常用的语句关键字主要包括 create.drop.al ...

  2. DDL DML DCL语句

    总体解释:DML(data manipulation language):自动提交的数据库操作语言       它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样 DDL( ...

  3. Oracle SQL: DDL DML DCL TCL

    Data Definition Language 自带commit,与表结构有关(数据字典)(会等待对象锁) Data Manipulation Language (数据文件相关变化有关,会产生锁)不 ...

  4. SQL Server性能常用语句

    查看各表的数据行数 SELECT o.name, i. ROWS FROM sysobjects o, sysindexes i WHERE o.id = i.id AND o.Xtype = ORD ...

  5. [笔记] SQL性能优化 - 常用语句(一)

    第一步 DBCC DROPCLEANBUFFERS 清除缓冲区 DBCC FREEPROCCACHE 删除计划高速缓存中的元素 从缓冲池中删除所有清除缓冲区.要求具有 sysadmin 固定服务器角色 ...

  6. sql查询的常用语句

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database 数据库名 3.说明:备份sql server --- 创建 ...

  7. SQL server 查询常用语句 2019.3.20

    SQL查询语句 select ...列名 from 表名 投影查询 select sno num,2019-sage as birthday // 给列起别名 from student: 在每个学生姓 ...

  8. [笔记] SQL性能优化 - 常用语句(二)

    1.查询CPU开销大的语句 total_worker_time/execution_count AS avg_cpu_cost, plan_handle, execution_count, ( , ( ...

  9. SQL性能优化常用语句(摘录网上)

    1.把trace文件导入到表中 , ) AS RowNumber,* into TableName FROM fn_trace_gettable('trace.trc', default) 2.查询C ...

随机推荐

  1. python编写producer、consumer

    自主producer.consumer 首先在不同的终端,分别开启两个consumer,保证groupid一致 ]# python consumer_kafka.py 执行一次producer ]# ...

  2. 编程中常用的DOS命令

    1. dir    directory 无参数:查看当前所在目录的文件和文件夹. /s : 查看当前目录以及其所有子目录的文件和文件夹 /a :查看包含的隐含文件的所有文件. /ah :只显示出隐含文 ...

  3. Oracle包被锁定的原因分析及解决方案

    http://blog.csdn.net/jojo52013145/article/details/7470812 在数据库的开发过程中,经常碰到包.存储过程.函数无法编译或编译时会导致PL/SQL ...

  4. 检查.net dll构建的目标平台是any cpu、x86、x64

    有时候,需要检查构建的dll是否针对正确的平台 可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息.运行CorFlags.exe将产生以下输出: ...

  5. GDI+配置

    GDI+的配置过程: 一.打开stdafx.h文件,在其中加入: #include "Gdiplus.h" #pragma comment(lib,"Gdiplus.h& ...

  6. WPF 使用 Direct2D1 画图 绘制基本图形

    本文来告诉大家如何在 Direct2D1 绘制基本图形,包括线段.矩形.椭圆 本文是一个系列 WPF 使用 Direct2D1 画图入门 WPF 使用 Direct2D1 画图 绘制基本图形 本文的组 ...

  7. 浏览器特权域XSS漏洞

    导语:科普什么是浏览器特权域XSS,可以用来干什么? 作者:天析 团队:Arctic Shell 为什么科普这个? 今天在群里看到有表姐说这个,然后恰好又有学姐在问什么是特权域XSS,于是就来说说这个 ...

  8. per学习笔记-zkclient,curator使用

    开源客户端,原生api的不足 连接的创建是异步的,需要开发人员自行编码实现等待 连接没有自动的超时重连机制 Zk本身没提供序列化机制,需要开发人员自行指定,从而实现数据的序列化和反序列化 Watche ...

  9. Dubbo原理实现之使用Javassist字节码结束构建代理对象

    JavassistProxyFactory利用自己吗技术构建代理对象的实现如下: public <T> T getProxy(Invoker<T> invoker, Class ...

  10. [JavaScript] html5 video标签注意事项

    Chrome 66 禁止声音自动播放 声音无法自动播放这个在IOS/Android上面一直是个惯例,桌面版的Safari在2017年的11版本也宣布禁掉带有声音的多媒体自动播放功能,紧接着在2018年 ...