原文地址:传智播客_SQL入门作者:happylonger

SQL

* 数据定义语言 DDL

* 数据操作语言 DML

* 查询和更新指令构成了 SQL 的 DML 部分:

 * SELECT - 从数据库表中获取数据

 * UPDATE - 更新数据库表中的数据

 * DELETE - 从数据库表中删除数据

 * INSERT INTO - 向数据库表中插入数据

* SQL 的数据定义语言 (DDL)
部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

* SQL 中最重要的 DDL 语句:

 * CREATE DATABASE - 创建新数据库

 * ALTER DATABASE - 修改数据库

 * CREATE TABLE - 创建新表

 * ALTER TABLE - 变更(改变)数据库表

 * DROP TABLE - 删除表

 * CREATE INDEX - 创建索引(搜索键)

 * DROP INDEX - 删除索引

* 在结果集(result-set)中导航

 由 SQL
查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record
等等。

* SQL TOP子句

 * SQL Server语法

  SELECT TOP number|percent
column_name(s)

  FROM table_name

 * MySQL 语法

  SELECT column_name(s)

  FROM table_name

  LIMIT number

 * Oracle 语法

  SELECT column_name(s)

  FROM table_name

  WHERE ROWNUM <=
number

* SQL JOIN

 * INNER JOIN: 在表中存在至少一个匹配时,INNER JOIN
关键字返回行。

 * JOIN: 如果表中有至少一个匹配,则返回行

 * LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

 * RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

 * FULL JOIN: 只要其中一个表中存在匹配,就返回行

 注: INNER JOIN 与 JOIN 是相同的。

* SQL UNION

 * UNION

 * UNION ALL

* SQL Select into

* SQL 约束 (Constraints)

 * NOT NULL

 * UNIQUE

 * PRIMARY KEY

 * FOREIGN KEY

 * CHECK

 * DEFAULT

* SQL FOREIGN KEY 约束

  * 一个表中的 FOREIGN KEY 指向另一个表中的
PRIMARY KEY

  * FOREIGN KEY
约束用于预防破坏表之间连接的动作。

  *FOREIGN KEY
约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

* SQL 函数

 * 函数的语法:

  SELECT function(列) FROM 表

* SQL GROUP BY 语句

 * GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

* SQL HAVING 子句

 * 在 SQL 中增加 HAVING 子句原因是,WHERE
关键字无法与合计函数一起使用。

数据库:保存在硬盘上的文件

数据库产品:采用一种优良的数据结构来保存数据,方便我们对数据进行查询和修改

访问本机的mysql

 * mysql -?

 * mysql -hlocalhost -P3306 -uroot -proot

 * mysql -uroot -proot -b(取消警告音)

sql语句,用于操作数据库的语句

数据库database 表table

创建create

查看show

修改alter

删除drop

所有对数据库和表单的操作 就是上面六个单词的组合

//创建一个数据库

create database mudb;

//删除一张表

drop table mytable;

一、数据库的操作

创建一个名称为mydb1的数据库

create database mydb1;

创建一个使用utf-8字符集的mydb2数据库。

create database mydb2 character set utf8;

创建一个使用utf-8字符集,并带校对规则的mydb3数据库。

create database mydb98 character set utf8 collate
utf8_general_ci;

查看所有的数据库

show databases;

查看数据库的创建语句

show create database mydb2;

删除前面创建的mydb3数据库

drop database mydb3;

drop database if exists mydb3; 如果存在才会删除

数据库的修改

 数据库一旦创建名称无法修改 ,字符集和校对规则可以改

把mydb2的字符集修改为gb2312

alter database mydb2 character set gb2312;

备份数据库

//使用数据库

use mydb2;

//创建表

create table a(

 name varchar(20)

);

//插入数据

insert into a(name) values('aaa');

insert into a(name) values('bbb');

备份数据库

mysqldump -uroot -proot mydb2 > d:/a.sql

删除mydb2

drop database mydb2;

恢复数据库 实际上是恢复数据库中的数据

创建数据库 使用数据库

create database mydb3;

uer mydb3;

source d:/a.sql;

实际上source命令用于执行一段sql脚本

二、表的操作

创建表

Id  整形

name  字符型

gender  字符型或bit型

birthday 日期型

Entry_date 日期型

job  字符型

Salary  小数型

resume  大文本型

create table employee(

 id int,

 name varchar(20),

 gender varchar(6), --男 女 male female

 birthday date,

 entry_date date,

 job varchar(20),

 salary float,

 resume text

);

修改表

在上面员工表的基本上增加一个image列。

alter table employee add image blob;

修改job列,使其长度为60。

alter table employee modify job varchar(60);

删除gender列。

alter table employee drop gender;

表名改为user。

rename table employee to users;

修改表的字符集为utf-8

alter table users character set utf8;

列名name修改为username

alter table users change column name username varchar(40);

查看表所有的表

show tables;

查看表的创建语句

show create table users;

查看表的结构

desc users;

//删除表

drop table employee;

三、表中数据的操作(重点)

crud:create read update delete

sql语句

1.insert语句 增加数据

employee.sql

create table employee(

 id int,

 name varchar(20),

 gender varchar(6),

 birthday date,

 entry_date date,

 job varchar(20),

 salary float,

 resume text

);

插入三条记录

insert
employee(id,name,gender,birthday,entry_date,job,salary,resume)
values(1,'zhangsan','male','1989-1-1','2012-1-1','A',5000,'good
boy');

insert
employee(id,name,gender,birthday,entry_date,job,salary,resume)
values(2,'lisi','male','1989-1-1','2012-1-1','A',5000,'good
boy');

insert
employee(id,name,gender,birthday,entry_date,job,salary,resume)
values(3,'zhangsan','female','1989-1-1','2012-1-1','A',5000,'good
girl');

insert
employee(id,name,gender,birthday,entry_date,job,salary,resume)
values(3,'王五','female','1989-1-1','2012-1-1','A',5000,'一个好男孩');

//查看数据库的所有编码

show variables like 'character%';

character_set_client 使用的客户端编码

character_set_results 结果集的编码

设置的方式

character_set_client=gbk;

character_set_results=gbk;

//创建一张a表

create table a(

 id int,

 name varchar(20)

);

insert into a values(1,'aaa');

insert into a(name) values('bbb');

insert a values(2,'ccc'),(3,'ddd');

规范的方式书写

insert into a(id,name) values(6,'eee');

查看表中的数据

select * from employee;

2.update语句 更新数据

3.delete语句 删除数据

truncate 删除表再创建表

truncate employee;

4.select语句 删除数据

[转载]传智播客_SQL入门的更多相关文章

  1. 大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)

    大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)大前端时代已经到来!如今,前端开发工程师的职责,不是只有切图.制作网页这么简单哦! G:\传智播客2015-WEB前端视频教 ...

  2. 传智播客C语言视频第二季(第一季基础上增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)

    卷 backup 的文件夹 PATH 列表卷序列号为 00000025 D4A8:14B0J:.│  1.txt│  c语言经典案例效果图示.doc│  ├─1传智播客_尹成_C语言从菜鸟到高手_第一 ...

  3. 传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)

     J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│      第一讲1.1C语言第一阶段.mp4│      第二讲1.2c语言入门教程.mp4 ...

  4. 传智播客成都校园php纪律指控

    继传智播客成都校区php第一期班圆满开班,说明php的火爆一点儿也不亚于java! 经传智播客商讨决定,传智播客成都校区php学科收费标准例如以下: 採用下面不论什么一种方式都能够享受优惠价: 一.自 ...

  5. 揭秘传智播客毕业班的超级薪水7k内幕系列II----Offer工资表5.7k,为什么不能让老师就业就业

    在上海传智播客宋学生Java六期学员.在班级尚未毕业阶段,私自投递简历,而且逃课去面试,获得某国企的Offer.入职薪资5.7K,,兼有五险一金.饭补等齐全福利,因就业老师要求班级同学未毕业不要急于就 ...

  6. 揭秘上海传智播客平均工资超过7k 其中一位知情人士

    大学毕业生人数破700万大关.如何破解"毕业即失业"中国式的大学困境? 2014年全国高校毕业生总数将达到727万人,比被称为"史上最难就业年"的2013年再添 ...

  7. 《2013传智播客视频》-wmv,avi,mp4.目录

    \!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...

  8. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录

    \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...

  9. 传智播客微金所项目实战移动web开发

    1.源码笔记 我的源码+笔记(很重要):链接: http://pan.baidu.com/s/1kULKqcJ 感谢传智播客项目相关视频:1.6天 链接: https://pan.baidu.com/ ...

随机推荐

  1. javascript-实现日期大写

    <script language="javascript"> $(document).ready(function() { //定义中文数组 var chinese = ...

  2. WebDriver 运行模式下使用rc 代码

    selenium2 对之前的rc 代码提供了兼容性接口,如果你之前的code 都是用rc 写,而现在又想摆脱要每次启动server,你只需要 略做修改即可.代码如下: public class Tes ...

  3. #pragma warning (default : n)

    参考链接:http://www.cnblogs.com/JCSU/articles/1996483.html 在VC2013中编译以下win32 C++ 控制台程序,会产生2个告警warnings # ...

  4. IGT一道笔试题

    1到n连续的n个数 输入m 得出m个有序序列 比如 输入为n=5 ,m=3 则输出 543 542 541 532 531 521  432 431 421 321 当前长度为i,每个位上的取之范围为 ...

  5. C语言基础--宏

    宏在C语言中经常使用,在linux的源码中可以看到很多宏的高级应用.因此不理解宏,就很难理解代码.本文参考一些互联网资料做一些总结,希望给大家带来帮助. 先说说使用宏的优点及缺点: 优点: 1.提高代 ...

  6. HW5.32

    public class Solution { public static void main(String[] args) { int n1 = (int)(Math.random() * 5 + ...

  7. hdoj 2091 空心三角形

    空心三角形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. 在线性级别时间内找出无序序列中的第k个元素

    在一个无序序列中找出第k个元素,对于k很小或者很大时可以采取特殊的方法,比如用堆排序来实现 .但是对于与序列长度N成正比的k来说,就不是一件容易的事了,可能最容易想到的就是先将无序序列排序再遍历即可找 ...

  9. Ajax调用WebService(一)

    Ajax调用WebService(一) http://www.cnblogs.com/leslies2/archive/2011/01/26/1934889.html 分类: Ajax 使用技术 We ...

  10. 如何在线缩小jpg图片的大小

    直接使用在线PS保存成更小格式,即可! 在线PS网址:http://www.webps.cn/ 打开图片 点击保存 直接拖动滑动条就可以改变图片大小