结构化查询语言:SQL:Structured Query Language

分类:

针对的操作对象不同。分成不同的语言:

1、数据操作(管理)语言( DML)

查询:获得数据。(DQL)

管理:增加、删除、修改数据。(DML)

2、数据定义语言(对保存数据的格式进行定义)(DDL)

3、数据库控制语言(针对数据库软件服务进行操作)(DCL)

一、库操作

1、创建数据库:

create database db_name [数据库选项];

2、数据库查询

(1)查询当前存在的数据库:

show databases;

注意:并不是只有用户可以创建数据库,mysql 内部维护自己的数据库。

(2)查看数据库的创建语句:

show create database db_name;

(3)数据库删除

drop database db_name;

(4)修改数据库信息

alter database db_name [修改指令];

指令:数据库属性的修改。

修改名字:

简单的可以直接修改目录名,

将数据库内容全部导出,新建一个数据库,将内容导入,删除旧数据库。

创建一个新数据库,将旧数据库内的表都移动(重命名)到新数据库内,删除旧数据库。

二、表操作

数据库是表的容器,表,必须属于某个数据库。

可以通过 . 语法,指明数据表所属的数据库

库.表 database . Table 如果任何的标识符,出现了特殊字符,需要使用反引号包裹。不同的标识符,分别包裹。

进行表操作时,都会指定当前的默认数据库。

use db_name; 只是设定了默认数据库,不会影响操作其他数据库。

(1)创建表:

create table tbl_name(列结构) [表选项];

先分析,需要保存的实体数据,拥有哪些属性,这些属性应该如何保存。

例如:班级的信息

班级班号,班级开办日期

create table php_one . php_class(

class_no varchar(20),

date_start date

);

use db_name;

create table p_class(

class_no varchar(20),

date_start date

);

create table php_two . php_class(

class_no varchar(20),

date_start date

);

列定义:

列名:列的数据类型[列的属性(约束)]

简单的字符串类型:valchar()

日期类型:date

(2)查看

有哪些表

show tables;

show tables[like 'pattern'];

其中like pattern 部分,表示只获得那种规则的表名

其中 % 称之为通配符,表示任意字符的任意个数的组合。

Like 适用于

show tables[like 'pattern'];

某个表的创建信息

show create table tbl_name;

查看表结构(描述表结构)

Describe tbl_name;

简写是 desc tbl_name;

数据库对应的目录,

显然,数据库内容对应的就应该是目录的内容,文件。

删除表:

Drop table[if exists] tbl_name;

表不存在,不能删除,会报错

适用于database:drop database [if exists] db_name;

修改表:

修改表名

Rename table old tbl_name to new tbl_name; 可同时支持修改多个表。

支持跨数据库重命名。可以利用跨数据库重名名表,可以为数据库重命名,

创建一个新的数据库,旧数据库内的表,都rename 到新的数据库内,删除旧的数据库。

修改列定义

增加一个新列:add

修改一个列的定义:modify

删除一个列:drop

重命名一个列:change

修改表结构,上面的是子命令,

上级是 alter table tbl_name add||drop||modify||change

修改表选项

Alter table tbl_name;

三、数据操作

1、创建数据(插入数据)

Insert into 表名 (字段列表) values (值列表)

如果需要在插入时,为所有的字段设置值,那么可以省略字段列表,

要求是值得顺序,应该与表中的字段的顺序一致。

2、获得数据(查询数据)

Select 字段列表 from 表名 查询条件

字段列表,可以使用 * 代替,表示所有的字段。

查询条件可以省略,表示所有的记录都获得。

相当于 where 1; 1表示永远成立,相当于默认

有条件的:

eg: Where fenshu >=72

3、删除数据库

Delete from 表名 条件.

删除需要在逻辑上严格给条件,否则,容易造成数据误操作,导致损失。语法上可以没有where

可以:如果要删除所有数据,使用where 1;

4、修改数据

Update 表名 set 字段=新值,…...条件。

四、字符集

如果通过客户端操作服务器,

通过mysql 的配置

Character_set_client客户端发送数据编码

Character_set_results 客户端接收数据的编码

通过指令 show variable like 'character_set_%';

设置变量:

Set 变量名=值;

五、校对规则

每一套,编码字符集都有与之相关的校队规则。

每个字符集都支持不定数量的校对规则。

可以通过如下指令:

Show collation;

可以看到:

字符集_地区名_比较规则(ci,cs,bin)不区分,区分,字节比较

可以使用like;

Show collation like 'utf8';

在设置字符集时,可以设置当前字符集所采用的校对规则,如果不设置校对规则,那么每个字符集都有一个默认的校对规则。

以gbk 为例,比较chinese_ci bin 之间的区别

Order by 关键字,可以在获得数据时,将数据按照某个字段排序。

入门SQL操作的更多相关文章

  1. 数据库优化和SQL操作的相关题目

    SQL操作 1.有一个数据库表peope,表有字段name,age,address三个属性(注:没有主键).现在如果表中有重复的数据,请删去重复只留下其中的一条.重复的定义就是两条记录的name,ag ...

  2. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  3. mongodb 操作语句与sql操作语句对比

    上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ...

  4. AJAX入门---DOM操作HTML

    AJAX入门---DOM操作HTML 一边学习AJAX一边坐着总结加深印象.上次写的是怎样简单的使用XMLHttpRequest对象.今天写的是DOM(文档对象模型(Document Object M ...

  5. 避免循环做SQL操作

    经常犯的错误是把一个SQL 操作放置到一个循环中, 这就导致频繁的访问数据库,更重要的是, 这会直接导致脚本的性能低下.以下的例子, 你能够把一个循环操作重置为一个单一的SQL语句. foreach ...

  6. sql操作一般函数

    sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...

  7. flask 操作mysql的两种方式-sql操作

    flask 操作mysql的两种方式-sql操作 一.用常规的sql语句操作 # coding=utf-8 # model.py import MySQLdb def get_conn(): conn ...

  8. ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry(个人改动版)

    发了两天的时间来解决配置Oracle 监听器来使用SQL操作ST_Geometry的配置,网上搜索一大片,结果真正找到的只有方法可用,下面把这个方法我个人在总结下. ArcSDE10.1配置Oracl ...

  9. SQL 操作字符串

    SQL操作字符串相对来说比较难一点,现在总结几个常用的SQL 对字符串的操作: declare @dd nvarchar(12) set @dd='2015-03-13' print @dd decl ...

随机推荐

  1. LeetCode至 少有 1 位重复的数字

    给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数. 示例 1: 输入:20 输出:1 解释:具有至少 1 位重复数字的正数(<= 20)只有 11 . 示例 2: 输入:10 ...

  2. ToastUtils 工具类

    package com.example.grenaderose.redthunder.utils; import android.content.Context; import android.os. ...

  3. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置

    Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了.      准备文件 从 http://archive.cloudera.com/cdh5/par ...

  4. Python基础-python流程控制之循环结构(五)

    循环结构 循环结构可以减少源程序重复书写的代码量,用来描述重复执行某段算法的问题. Python中循环结构分为两类,分别是 while 和 for .. in. 一.while循环 格式1: whil ...

  5. Android 8.0+ 通知不显示的适配

    最近在 写项目的时候  发现 通知并不会显示的问题,查看资料发现 从Android 8.0开始通知必须加上ChannelId Android O 引入了 通知渠道(Notification Chann ...

  6. Android设备直接运行java项目?还杀不死?

    思路:拿到dex可执行文件,使用android执行 使用idea创建java类库,写相关逻辑代码 使用idea导出该类库jar包 使用android dx工具 将jar文件转换为dex可执行文件 dx ...

  7. touch.js 手机端的操作手势

    使用原生的touchstart总是单击.长按有冒泡冲突事件,发现百度在几年开源的touch.js库,放在现在来解决手机端的操作手势,仍然很好用.

  8. after及before伪元素及解决父元素塌陷的几种方法

    一.伪类和伪元素 CSS中伪类和伪元素有很多,也很好用!如果熟练使用的话可以解决很多问题 首先明白什么是伪类:伪类是基于当前元素的状态,而不是元素的id class等静态标志,它是动态变化的,它会在一 ...

  9. 关于Promise的记录和理解

    在JavaScript中,所有的代码都是单线程执行的,这就导致了其所有的网络请求,IO操作,浏览器时间等都是异步非阻塞的模式执行的,这就使得代码的执行顺序可能会超出我们的掌控. 尤其是当多个异步操作待 ...

  10. 网址导航18C

    [名站] 百度 网易 腾讯 新华 中新 凤凰 [新闻] 联合早报  南方周末  澎湃新闻 [系统] 宋永志 蒲公英 技术员 装机网 系统之家 [软件] 星愿浏览器 微PE [分享] zd423 殁飘遥 ...