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

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

慢慢补充

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

  1. DMLdata manipulation language)是数据操纵语言:它们是SELECTUPDATEINSERTDELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
  2.  
  3. DDLdata definition language)是数据定义语言:DDLDML要多,主要的命令有CREATEALTERDROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
  1. DCLDataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
  2.  

DDL

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

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

1, 对数据库的操作

1, 创建数据库

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

2, 查看数据库

  1. show databases;

3, 使用数据库

  1. use test;

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

  1. select database();

5, 查看数据库结构

  1. show create database test;

6, 删除数据库

  1. drop database test;

2, 对数据表的操作

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

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

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

2, 查询表

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

3, 删除表

  1. drop table sys_user;

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

  1. create table new_user select * from sys_user;

5, 修改表结构

  1. # 修改表名
  2. rename table sys_user to new_user;
  3.  
  4. # 添加列
  5. alter table sys_user add addre varchar() not null;
  6.  
  7. # 修改列名
  8. alter table sys_user change sex new_sex;
  9.  
  10. # 修改列类型
  11. alter table sys_user modify addre varchar();
  12.  
  13. # 删除列
  14. alter table sys_user drop sex;

3, 索引操作

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

  1. # 创建索引
  2. create index name_index on sys_user(name);
  3.  
  4. # 创建唯一索引
    create unique index name_index on sys_user(name);
    alter table sys_user add unique name_index(sys_user);
  5.  
  6. # 删除索引
    drop index name_index on sys_user;
  7.  
  8. #查看索引
    show index from sys_user;

DML

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

1, 增

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

2, 删

  1. delete from 表名; # 删除表中所有数据, auto_increment不会重置
  2.  
  3. # 加上where子句, 条件删除
  4. delete from 表名 where money > and money < ;

3, 改

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

4, 查

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

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

  1. # count
  2. select count(name) as '总数' from sys_user
  3. select count(DISTINCT(name)) as '总数' from sys_user; # 使用distinct函数去重
  4.  
  5. # sum
  6. select sun(IS NULL(num)) from sys_user; # 使用 is null 去除为null的
  7.  
  8. #max, min, avg
  9. select max(money) from sys_user;

6, where 子句

  1. 比较运算符: >, < >=, <=, !=(<>)
  2. 逻辑运算符: and, or, not
  3. 在范围内: between..and..
  4. 指定值: in(值1, 2, 3)
  5. 模糊匹配: like
  6. null: is not null 不为空
  7.  
  8. 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. Linux入门(1)——Ubuntu16.04安装搜狗拼音

    在网址下载搜狗deb包:http://pinyin.sogou.com/linux/ 将下载的sogoupinyin_2.1.0.0082_amd64.deb放在根目录下. 安装搜狗拼音: ltq@l ...

  2. python使用数据库的一些操作

    学py感觉还是用linux操作系统比较好,下载安装mysql很简单,linux里面都有自带的,但是要用python去用mysql我们就得安装一下他的模块,因为python里面没有自带他的模块,用yum ...

  3. CALayer-CAShapeLayer/CAGradientLayer

    参考博客 CAShapeLayer http://blog.csdn.net/yongyinmg/article/details/38755955 CAShapeLayer和CAGradientLay ...

  4. 关于建立MySQL数据库,中文出现乱码问题

    MySQL的ini文件中的默认编码设置utf-8不用改 loose-default-character-set = utf-8 注意:需要改动部分 1.如图所示 建立schema时改变字符编码 改变为 ...

  5. find的用法(完整)

    一.根据文件或者正则表达式进行匹配 1.列出当前目录(/.code)及子目录下所有文件和文件夹 find . 2.在当前目录(/.code)下查找以.pdf结尾的文件名 find .  -name & ...

  6. 【DirectX】 AudioVideoPlayback 中的事件BUG

    当访问 Video 中的 Audio 属性时,会造成 Video 的所有事件失效.经过反汇查看源码,原来在访问Audio属性时,Audio会通过当前Video对象创建一个新实例.而这个新实例会覆盖掉当 ...

  7. 【BZOJ3551】 [ONTAK2010]Peaks加强版

    BZOJ3551 [ONTAK2010]Peaks加强版 Solution Kruscal重构树后发现可以对于小于的离散化然后倍增+主席树找到上一个的可行解. 然后就可以了. 如果数组开的不好,容易在 ...

  8. FunDA(17)- 示范:异常处理与事后处理 - Exceptions handling and Finalizers

    作为一个能安全运行的工具库,为了保证占用资源的安全性,对异常处理(exception handling)和事后处理(final clean-up)的支持是不可或缺的.FunDA的数据流FDAPipeL ...

  9. Liferay开发实战(1):入门

    网址: https://www.liferay.com/zh/ 文档: https://dev.liferay.com/develop 入门文章网上很多,中文的较少,存在版本太旧的问题,也缺少一步一步 ...

  10. 装饰器中的@functools.wraps的作用

    def login_required(view_func): @functools.wraps(view_func) def wrapper(*args, **kwargs): ...... retu ...