SQL数据库基本操作语句
一、数据库及数据库表定义
1、创建基本表
create table <表名> (<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]
.........
[,<表级完整性约束条件>]);
例:
- create table student ( Sno char(5) not null unique,
- Sname char(20) unique,
- Ssex char(1),
- Sage int,
- Sdept char(15));
2、修改基本表
alert table <表名>
[add <新列名> <数据类型> [完整性约束]]
[drop <完整性约束名>]
[modify <列名><数据类型>];
add: 用于向表中增加新列及新列相关的完整性约束条件,新的列增加成功后不带任何数据
drop:用于删除指定的完整性约束条件
modify:用于修改原来的列定义,包括修改列名和数据类型,列数据类型修改后可能会丢失原有的数据
例:
- alert table student add Scome date;
- alert table student modify Sage smallint;
- alert table student drop unique(Sname);
3、SQL中没有提供删除属性列的功能,若需要删除列,必须间接通过select语句来实现,将需要的列的内容复制到另一个表中,再删除原表,然后将新表的名字命名为原表名
4、删除基本表
drop table <表名>
5、建立与删除索引
create [unique] [cluster] index <索引名> on <表名> (<列名> [<次序][,<列名>[<次序]].....);
注:unique:表明此索引的每个索引值只对应惟一的一个记录
cluster:表时要建立的索引是聚簇索引,即按某一列建好索引后,硬盘上的数据存储顺序也调整为按这个列的顺序存储,索引的顺序和存储顺序是一致的
drop index <索引名>;
例:
- create unique index studentIndex on student (sno);
- drop index studentIndex;
二、数据查询
select [distinct | distinctRow | all]
列名[,列名][,....]
[into {outfile | dumpfile} '文件名' export_options]
[from 表名]
[where 查询条件]
[group by 列名[, ....]]
[having 条件定义]
[order by {无符号整数|列名|公式}[asc | desc],...]
[limit [偏移量,] 行数]
[procedure 过程名称]
注:select语句中所有使用的关键词必须精确的以上面的顺序给出
如果以降序排列,则在order by中加入关键字desc,升序则加入关键字asc,默认是升序
having子名能引用任何列或在查询中命名的别名,它最后运用,就在项目被送到客户之前是,没有变化。需要注意,不要对应该在where子句中的项目使用having.
limit子名被用来限制select返回的行数,如果给定1个参数,它指出返回行的最大数目;如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目,初始行的偏移量是0
例:
- //返回前5个记录
- select * from table limit 5;
- //返回第6到第15个记录
- select * from table limit 5,10;
select .... into outfile '文件名' 格式的select语句将选择的行写入一个文件,文件在服务器上被创建,并且不能是已经存在的,且在服务器主机上还必须有file权限以使用这种select
distinct,使用了这个关键字后,再执行select语句的结果集中,如果有重复的值,则会在结果集中去掉重复的值而只保留一个值。
- //选择学生表中所有学生的姓名记录,并且筛选掉重复的记录,将记录保存在名字为name的结果集中,并按学号由大到小排列
- select distinct sname as name, sno from student order by sno desc;
- //选择学生表中所有学生的姓名和年龄,并将每个同学的姓名后加上“同学”二字,将每个人的年龄增加1岁,同是计算所有同学年龄的平均值
- // sum() ---- 求所有数据的总和
- // max() ----求所有数据中的最大值
- // min() -----求所有数据中的最小值
- // count() ---求所有数据的个数
- // avg() ---- 求所有数据的平均值
- select sname, "同学", age+1, avg(age) from student;
- //列出学号在1和100之间,并且成绩大于85分的所有姓”赵“同学的所胡记录
- // % ---代表任意字符
- //使用通配符时,前面必须用关键字”like”
- select * from student where sname like '赵%’ and sno between 1 and 100 and sno in (select sno from student where grade>85);
- //使用学生表、课程表以及学生选课表这3个基本表,列出所有学生的姓名、学号、所选课程的课程名称及该课程的学分
- select sname, sno, cno, credit from student, course, sc where student.sno=sc.sno and sc.cno=course.cno;
三、数据更新
1、数据插入
insert into <表名> [<列名>[,<列名>]....) values (value1, value2,...);
如果表中的每一列均有数据插入,则可不用指定任何表名
2、数据修改
update <表名> set <列名>=新值 where <条件表达式>
3、数据删除
删除指的是删除数据库中的一个记录,而不是删除某一列
delete from <表名> where <条件表达式>
转至:http://blog.csdn.net/zdwzzu2006/article/details/2298777
SQL数据库基本操作语句的更多相关文章
- SQL数据库基本语句
SQL特点--> 1)综合统一.SQL是集数据定义.数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动. 2)高度非过程化.SQL语言是高度非过程化语言,当进行数据操作时 ...
- SQL数据库-基本操作
SQL教程 整理自:廖雪峰的官方网站-SQL教程 目录 SQL教程 SQL快捷键 1.概述 数据类型 SQL操作数据库的能力 语法特点 2. 安装MySQL 运行MySQL 3. 关系模型 3.1 概 ...
- sql数据库常用语句总结
1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNc ...
- SQL 数据库基础语句
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建备份 ...
- SQL SERVER 基本操作语句
Sql 是一种结构化的查询语言:Sql是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理‘关系型数据库’系统:Sql对大小写不敏感:Sql不是数据库,是行业标准,是结构化的查询语言 In ...
- NumberFormatException: Invalid int类型不匹配异常——使用SQL数据库查询语句select * from blacknumber order by _id desc limit ?,20;出现
异常:类型不匹配 05-06 08:12:38.151: E/AndroidRuntime(14904): java.lang.NumberFormatException: Invalid int: ...
- sql数据库监控语句
--查找被阻塞进程 --查找阻塞头进程 and exists ( from master..sysprocesses where blocked =p.spid) --查找等待时间长的进程 order ...
- MySQL数据库 基本操作语句
操作MySQL数据库 1.创建数据库 create database 数据库名: 2.查看数据库 show databases: 3.选择指定数据库 use 数据库名: 4.删除数据库 drop da ...
- sql数据库相关语句
易错点 Where需要放在from语句之后:where中不能出现聚合函数(就是能够将几行一列合并为一行一列的函数,比如max,min,avg,count()):但是可以出现其他,如比较符,getdat ...
随机推荐
- nginx安装后出现502 Bad Gateway 错误解决办法
1. 打开php-fpm.conf 2.将lisen值修改为 listen = 127.0.0.1:9000 并保存 3.重启服务/etc/init.d/php-fpm restart
- Zend Studio集成Xdebug断点调试详解
转自:http://www.softown.cn/post/115.html Xdebug是PHP开发中两个常用的断点调试工具之一(另一个为Zend Debugger). 现在,我们在Zend Stu ...
- Axure一点
自己的感受:非常的考脑,上课要集中120分精神. Axure(快速制作网页原型) 1:全局变量:a:在菜单栏中可以新建全局变量. b:控制全部网页. c:取到输入框的值,设置User的值等于输入框的值 ...
- 项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置
想要通过配置文件配置C#前台画面,好奇做了以下测试:在项目中新建了app.config与app1.config两个配置文件,请教一下各位高手如果想从app1.config中读取配置信息应该如何读取?采 ...
- phpcms 05
所谓的异步加载,也就是两个线程同时执行一个任务,比如一个加载文字,一个加载图片,这样子可以先看到文字 footer,html包含尾部文件 {template "content",& ...
- Codeforces Round #260 (Div. 2) B
Description Fedya studies in a gymnasium. Fedya's maths hometask is to calculate the following expre ...
- zookeeper系列之十一—zookeeper会话超时
1.会话概述 在Zookeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID).服务器和客户端之间维持的是一个长连接,在SEESSION_TIMEOU ...
- Xcode插件管理以及Xcode7 升级
一,Xcode插件管理工具 Alcatraz: mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins; cur ...
- 给table设置滚动条
<div scroll="no" style="width:1200px;overflow-x:scroll;overflow-y:hidden"> ...
- SUSE Linux Enterprise Server 设置IP地址、网关、DNS
说明: ip:192.168.21.172 子网掩码:255.255.255.0 网关:192.168.21.2 dns:8.8.8.8 8.8.4.4 1.设置ip地址 vi /etc/syscon ...