常见Sql语句

创建一个学生表

 create table Student

(  Sno char(6) primary key,/*列级完整性约束条件,Sno是主键*/

     Sname char(10) unique,/*列级完整性约束条件,Sname唯一*/

     Ssex char(2)check (Ssex in(‘男‘,‘女‘)),

     Sage smallint,

     Sdate date not null 

);

数据表的修改

eg.   向Student表中添加所在系的列

 alter table Student add Sdept char(20);

eg. 将年龄的数据类型该文长整型

alter table Student alter column Sage int;

数据表的删除

(基本表删除后,表中的数据以及此表上建立的索引,视图,触发器等自动被删除,所以要慎用删除)

drop table Student;

索引的建立(加快查询速度,提高效率)和删除

为Student表的学号按升序建立索引   为student表的学号按升序,成绩按降序建立唯一的索引

 create unique index Stusno on Student(Sno); /*不说明的话,默认为升序*/
 Create unique index Stusnoandscore on Student(Sno asc,Grade desc);

索引的删除

删除student表的索引

drop index Stusno;

查询:

查询Student所有的信息

查询姓名,和年龄

select * from Student;
select sname,sage from Student;

建立个SC的表 有学号Sno 课程号 Cno 成绩Grade

在这个SC表中查询所有选了课程的学生的学号,并消除重复的学号

select distinct Sno from SC;

查询计算机系的所有学生的学号和姓名

 select Sno,Sname from Student where Sdept =‘CS‘;

查询年龄在20-30岁之间的学生的姓名

select Sname,Sdept,Sage from Student where Sage between 20 and 30;

字符串匹配

找出姓名中姓为张名里有伟的学生的姓名和性别

 select sno,sname from Student where Sname like ‘张_  _伟%‘;

exists:

select Sneme from student where exists(select * from SC where Sno=Student.Sno);

时间: 2024-09-28 19:56:09

常见Sql语句的相关文章

常见SQL语句和SQL基础知识

引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu张三    语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: selec

常见sql语句及复杂sql语句记录

1 将A表中的部分字段和B表中的部分字段作为C表的字段 SELECT a.name,b.age   FROM  (SELECT * from A) as a,(SELECT * from B) as b; 2 mybatis LIKE语句的使用 SELECT * FROM A where name LIKE CONCAT('%',#{nameKey,jdbcType=VARCHAR},'%' );

oracle常见sql语句优化

1.* 号引起的执行效率 尽量减少使用select * 来进行查询,当你查询使用*, 数据库会进行解析并将*转换为全部列. select count(si.student_id) from Student_info si(student_id为索引) 与 select count(*) from Student_info si 执行时.上面的语句明显会比下面没有用索引统计的语句要快 2.避免在索引列上使用计算. WHERE 子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描. 举

MySql: 常见sql语句

1. show create table mysql> show create table t \G*************************** 1. row *************************** Table: tCreate Table: CREATE TABLE `t` ( `a` int(10) unsigned DEFAULT NULL, `b` int(10) unsigned DEFAULT NULL) ENGINE=InnoDB DEFAULT CHAR

mysql性能优化学习笔记(3)常见sql语句优化

一.max()优化mysql> explain select max(payment_date) from payment;+----+-------------+---------+------+---------------+------+---------+------+-------+-------+| id | select_type | table   | type | possible_keys | key  | key_len | ref  | rows  | Extra |+-

Oracle数据库概念和一些基本的SQL语句

1.数据 定义:描述事物的符号.例如:文本.音频.视频都是数据. 2.数据库 存放数据的仓库,存放在计算机中,按照一定格式存放,可以为用户共享. 3.数据库的发展阶段 1.网状数据库 2.层次数据库 3.关系数据库(目前主流数据库) 4.对象数据库 4.NOSQL数据库 4.Oracle数据库系统用户(管理员) scott账户:测试账户,练习账户 登录方式:dos命令行---->sqlplus--->输入账户:scott--->输入密码---->(登录成功) 如果该账户被锁定,需要

SQL语句常见优化十大案例

1.慢SQL消耗了70%~90%的数据库CPU资源: 2.SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低:3.SQL语句可以有不同的写法: 下面是我总结的一些SQL常见的优化方法,每个案例都简单易懂,在开发过程中可以作为参考: 1.不使用子查询例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang');子查询在MySQL5.5版本里,内部执行计划器是这样执

MySQL慢SQL语句常见诱因

Reference: https://time.geekbang.org/column/article/113440 1. 无索引.索引失效导致慢查询 如果在一张几千万数据的表中以一个没有索引的列作为查询条件,大部分情况下查询会非常耗时,这种查询毫无疑问是一个慢SQL查询.所以对于大数据量的查询,需要建立适合的索引来优化查询. 虽然很多时候建立了索引,但在一些特定的场景下,索引还有可能会失效,所以索引失效也是导致慢查询的主要原因之一. 2. 锁等待 常用的存储引擎有 InnoDB 和 MyISA

php中sql语句常见错误

.php文件中sql语句的写法导致的错误如下: 1.$logSql="select * from jd_login where uname=".$u."and upwd=".$p; 报错如下: 查询用户失败: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use