设为首页 收藏本站
查看: 1566|回复: 0

[经验分享] SQL简单使用-进阶篇

[复制链接]
发表于 2018-10-19 08:45:14 | 显示全部楼层 |阅读模式
  与上一篇的《SQL简单使用-基础篇》相连续的篇章,《SQL简单使用-基础篇》以下简称《基础篇》。在《基础篇》中,主要简单的带大家了解一下SQL命令中最主要的增删改查命令的使用,增INSERT INTO、删DETELE/DROP/TRUNCATE、改UPDATE、查SELECTE。因为增删改查是SQL命令的核心也是最基础的部分,所以本篇张还是围绕增删改查的使用进行进阶性的介绍与使用。
  先从《基础篇》中提到的where子句里面的通配符讲起。
  1.like  用于在where子句中搜索列中的指定模式
  示例:
  select * from websites where name like '%oo%';
  注:(%分号表示任意数据,_表示任意一个数据,动手练两边就能熟悉)
  'G%'    搜索以G开头的数据
  '%G'    搜索以G结尾的数据
  '%g%'   搜索包含g的数据
  'G'   搜索以G开头的两位数据
  'G'   搜索以G结尾的两位数据
  'G'   搜索包含G的三位数据
  1.1  通配符还有一种(%、_和[charlist])
  示例:[charlist]使用
  select * from websites where name REGEXP '^[A-H]';
  2.between 用于选取介于两个值之间的数据范围内的值
  示例:
  select * from websites where alexa between 1 and 20;
  示例:添加not使用
  select * from websites where alexa not between 1 and 20;
  示例:结合IN使用
  select * from websites where ( alexa BETWEEN 1 and 20) and country in ('USA','CN');
  示例:文本
  select * from websites where name between 'A' and 'H';  不包含H
  3.top 用于规定返回记录的数据,实用
  示例:SQL server (SELECT TOP number|percent column_name(s)  FROM table_name;)
  select top 50 percent * from websites;
  示例:Oracle(SELECT column_name(s) FROM table_name WHERE ROWNUM 0)
  
);
  

  alter table 使用check约束
  alter table websites add check (id>0);
  撤销check约束(参照unique约束中的alter table)
  alter table websites drop check constraint_name;
  10.6 DEFAULT 约束
  1.用于向列中插入默认值
  2.如果没有规定其它值,那么将默认值添加到所有的记录
  示例:MYSQL
  

create table student_information (  student_id INT (10) NOT NULL,
  student_name CHAR (4),
  student_class CHAR (10) DEFAULT '' comment '班级',
  student_tele INT (11),
  student_add VARCHAR (255)
  
);  comment 是为 字段或列的属性添加注释用的
  

  alter table 使用 default
  示例:MYSQL
  

alter table websites  
alter country set default 'CN';
  

  示例:SQL server
  alter table websites add constraint ad_c default 'CN' for country;
  示例:oracle
  alter table websites modify country default 'CN';
  撤销default约束
  示例:MYSQL
  

alter table websites  
alter country drop default;
  

  示例:SQL server/oracle
  

alter tables websites  
alter column country drop default;
  


  • create index 用于在表中创建索引  在表中创建索引可以更高效的查询数据,用户无法查看到索引,他们只能被用来加速搜索/查询。
      注:更新一个包含索引的表所耗费的时间比没有索引表的时间更长,这是由于索引本身也需要更新。因此,理想的做法是仅仅在尝尝被所有的列(及表)上面创建索引。
      语法:创建一个简单的索引,允许使用重复的值
      create     index index_name ON table_name (column_name);
      语法:在表中创建唯一的索引,不允许使用重复的值(create unique table):唯一的索引意味着两个行不能拥有相同的索引值。
      create UNIQUE index index_name ON table_name (column_name);

  示例:将websites表中name列中创建名为web_index的索引。
  create index web_index ON websites (name);
  12.drop  可以删除表,索引和数据库
  DROP INDEX 语句用于删除表中的索引。
  用于 SQL Server 的 DROP INDEX 语法:
  DROP INDEX table_name.index_name
  用于 DB2/Oracle 的 DROP INDEX 语法:
  DROP INDEX index_name
  用于 MySQL 的 DROP INDEX 语法:
  ALTER TABLE table_name DROP INDEX index_name
  DROP TABLE 语句用于删除表。
  DROP DATABASE 语句用于删除数据库。
  仅仅需要删除表内的数据,但并不删除表本身
  TRUNCATE TABLE table_name
  13.ALTER TABLE 用于在已有的表中添加、删除或修改列。
  添加列的语法:
  ALTER TABLE table_name ADD column_name datatype;
  删除表中的列语法:
  ALTER TABLE table_name DROP COLUMN column_name datatype;
  改变表中数据类型语法:
  ALTER TABLE table_name MODIFY COLUMN column_name datatype;
  示例: 在website表中添加名为column_date的列,然后修改列的数据类型,删除添加的列
  

alter table websites add column_date date;  添加  
alter table websites modify column column_date year;修改
  
alter table websites drop column column_date;   删除
  

  参考菜鸟教程请添加链接描述整理的笔记



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-623404-1-1.html 上篇帖子: SQL Server 2008数据库稀疏列和列集的详解 下篇帖子: SQL简单使用-基础篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表