[转载]传智播客_SQL入门
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入门的更多相关文章
- 大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)
大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)大前端时代已经到来!如今,前端开发工程师的职责,不是只有切图.制作网页这么简单哦! G:\传智播客2015-WEB前端视频教 ...
- 传智播客C语言视频第二季(第一季基础上增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)
卷 backup 的文件夹 PATH 列表卷序列号为 00000025 D4A8:14B0J:.│ 1.txt│ c语言经典案例效果图示.doc│ ├─1传智播客_尹成_C语言从菜鸟到高手_第一 ...
- 传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)
J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│ 第一讲1.1C语言第一阶段.mp4│ 第二讲1.2c语言入门教程.mp4 ...
- 传智播客成都校园php纪律指控
继传智播客成都校区php第一期班圆满开班,说明php的火爆一点儿也不亚于java! 经传智播客商讨决定,传智播客成都校区php学科收费标准例如以下: 採用下面不论什么一种方式都能够享受优惠价: 一.自 ...
- 揭秘传智播客毕业班的超级薪水7k内幕系列II----Offer工资表5.7k,为什么不能让老师就业就业
在上海传智播客宋学生Java六期学员.在班级尚未毕业阶段,私自投递简历,而且逃课去面试,获得某国企的Offer.入职薪资5.7K,,兼有五险一金.饭补等齐全福利,因就业老师要求班级同学未毕业不要急于就 ...
- 揭秘上海传智播客平均工资超过7k
其中一位知情人士
大学毕业生人数破700万大关.如何破解"毕业即失业"中国式的大学困境? 2014年全国高校毕业生总数将达到727万人,比被称为"史上最难就业年"的2013年再添 ...
- 《2013传智播客视频》-wmv,avi,mp4.目录
\!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...
- 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录
\!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...
- 传智播客微金所项目实战移动web开发
1.源码笔记 我的源码+笔记(很重要):链接: http://pan.baidu.com/s/1kULKqcJ 感谢传智播客项目相关视频:1.6天 链接: https://pan.baidu.com/ ...
随机推荐
- HDU5046 Airport dancing links 重复覆盖+二分
这一道题和HDU2295是一样 是一个dancing links重复覆盖解决最小支配集的问题 在给定长度下求一个最小支配集,只要小于k就行 然后就是二分答案,每次求最小支配集 只不过HDU2295是浮 ...
- 50道经典的JAVA编程题 (6-10)
50道经典的JAVA编程题 (6-10),今晚做了10道了,累死了...感觉难度不是很大,就是不知道是不是最好的实现方法啊!希望大神们能给指点哈... [程序6]GCDAndLCM.java 题目:输 ...
- [Orchard CMS系列] 创建主题(Writing a new theme)
本文需要对Orchard CMS有基本了解. 开启模块 code generation 创建新的主题工程骨架 Codegen theme MyTheme 创建主题样式 src\Orchard.Web\ ...
- 【推荐】JavaScript的那些书
又好久没写东西了,写上一篇的时候还以为接下来的工作会轻松一些,结果未从我所愿呐,又是一阵忙碌.而这段时间穿插着做了很多12年淘宝校园招聘的前端面试,很多同学都有问到,学校里没有前端的课程,那如何学习J ...
- 第二十章、启动流程、模块管理与 Loader
核心与核心模块 在整个启动的过程当中,是否能够成功地驱动我们主机的硬件配备, 是核心 (kernel) 的工作!而核心一般都是压缩档,因此在使用核心之前,就得要将它解压缩后, 才能加载主内存当中. 另 ...
- fastica matlab 转载
FastICA工具箱1 http://chunqiu.blog.ustc.edu.cn/?p=68#comment-3512 FastICA代码网址如下:http://research.ics.aal ...
- 去ECSHOP版权,去官方后门
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.系统开源但不免费,是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序.目前最新版本为2.7.3 0708版.1.首先 ...
- iOS开发-自动布局和自动旋转
今天学习自动布局中的自动调整尺寸大小. 一.尺寸分类 尺寸分类是对设备宽高的一种大致分类. 有两种具体的尺寸分类用来表示真机:紧凑(Compact)和标准(Regular).还有第三种分类可以在设计工 ...
- virtualbox 创建com对象失败
其实这个错误是因为VirtualBox不兼容Win7引起的,只要把VirtualBox的兼容模式改为出Win7以外的就行了.. 右键VirtualBox的桌面快捷方式,选择属性,选到兼容性选项卡,勾选 ...
- Indesign多媒体富交互插件【MagBuilder】与iOS app 【MagViewer】介绍
[写在前面]进园子有一段时间了,从来都是看别人的文章,自己的一点东西都记在本地笔记里,现在想把一些东西拿来出分享,希望能够认识一些志同道合的朋友和老师. 学习Adobe插件开发的初衷是为了给PS做插件 ...