sql入门教程——笔记

进入mysql,
mysql -u root -p password

然后show databases显示所有数据库
use (name)选定数据库
selcet * from table,显示全部

create database samp_db character set gbk;


sql对大小写不敏感。每条命令后加分号是标准用法。
sql可分为数据操作语言dml和数据定义语言ddl

DML主要是查询和更新:
*SELECT
*UPDATE
*DELETE
*INSERT INTO

DDL主要是创建和删除表格TE 
*CREATE DATABASE(库)
*ALTER DATABASE
*CREATE TABLE
*ALTER TABLE
*DROP TABLE
*CREATE INDEX(索引)
*DROP INDEX

'PERSON'TABLE
————————————————————————————————————————————————————————————————
id   |   lastname   |   firstname     |     address       |   city  
1   |   adams       |   jhon   |   oxford street   |   london
2   |   bush       |   george       |   fifth avenue   |   new york
3   |   carter     |   thomas     |   changan steet   |   beijing
—————————————————————————————————————————————————————————————————

!1,select
1。select用于从表中选取数据。结果被储存在一个结果表中。
2,select 列名称 from 表名称 ; 或 select * from 表名称  
实例:
获取名为lastname 和firstname 的列的内容:
select lastname, firstname from persons;
结果:
————————————————————————
  lastname   |   firstname    
  adams       |   jhon    
  bush       |   george      
  carter     |   thomas      
————————————————————————

获取persons所有内容
select * from persons
结果:
————————————————————————————————————————————————————————————————
id   |   lastname   |   firstname     |     address       |   city  
1   |   adams       |   jhon   |   oxford street   |   london
2   |   bush       |   george       |   fifth avenue   |   new york
3   |   carter     |   thomas     |   changan steet   |   beijing
—————————————————————————————————————————————————————————————————

ps:sql获取的结果被放在一个结果集中。大多数数据库软件都允许使用编程函数在结果集中进行导航。ADO,PHP都行。

!2,select distinct
1.被用来列出唯一不同的结果(就是有重复出现的只列出一次)
2:select distinct lastname from persons

!3,where
1,用于有条件的选择。
2,select 列名称 from 表名称 where 列 运算符 值
where中可用的运算符:
=
<> 不等于&标准格式,有些版本可用!=
>
<</div>
>=
<=
between 在某个范围内
like 搜索某种格式

3,实例:
如果只希望选择住在北京的人:
select * from persons where city='beijing'
如果只选择出生年大于1965的:
select * from persons where year>1965    
———特别注意:sql使用单引号来环绕文本值,如果是数值,不要用引号。——

!4,and or
1:用于基于一个以上的条件对记录进行过滤,把多个条件结合起来,和c的判断是类似的
实例:
  1用and显示所有姓为carter并且名为thomas的人
select * from persons where firstname='thomas' and lastname='carter'
  2用and显示所有姓为carter并且名为thomas的人
  select * from persons where firstname='thomas' or lastname='carter'
  3可以用()来把它们组合成更复杂的表达式:
  select * from persons where (firstname='thomas' or firstname='wiliam') and lastname='carter'
!5 order by
1:用于对结果集进行排序,默认为升序,降序使用DESC

ORDERS 表:

Company OrderNumber 
IBM 3532 
W3School 2356 
Apple 4698 
W3School 6953 

实例:
1:按字母顺序显示公司名称:
select company, ordernumber from orders order by company
结果
Company OrderNumber 
Apple 4698 
IBM 3532 
W3School 6953 
W3School 2356 

2:按字母顺序显示公司名称,并以数字顺序显示序号(针对会同名公司)
select company, ordernumber from orders order by company, ordernumber
结果
Company OrderNumber 
Apple 4698 
IBM 3532 
W3School 2356 
W3School 6953 

3:按逆字母顺序显示公司名称:
select company, ordernumber from orders order by company desc
结果
Company OrderNumber 
W3School 6953 
W3School 2356 
IBM 3532 
Apple 4698  
ps:此时在含有相同的公司名是,后面的序号也是收desc影响,变降序

!6,insert
1:用于向表格中插入新的行
2: insert into 表名称 values (值1,值2,……)
也可以指定要插入数据的列:
insert into table_name(列1,列2……) values(值1,值2……)
3:实例
1,插入新行:
insert into persons values ('gates','bill','xuanwumen 10','beijing')
2,在指定的列中插入数据:
insert into persons (lastname,address) values ('wilson','champs')

lastname FirstName Address City 
Carter Thomas Changan Street Beijing 
Gates Bill Xuanwumen 10 Beijing 
Wilson   Champs-Elysees    

!6,update
1:用于修改表中的数据、
2:update 表名称 set 列名称 = 新值 where 列名称 = 某值
3,实例:
1,更新某一行中的一个列,向上例中wilson添加firstname:
update persons set firstname = 'fred' where lastname = 'wilson'

lastname FirstName Address City 
Carter Thomas Changan Street Beijing 
Gates Bill Xuanwumen 10 Beijing 
Wilson   fred Champs-Elysees    

2,更新某一行的若干列:修改上例中的地址和城市
update persons set adress = 'zhongshan 23', city = 'nanjing' where lastname ='wilson'

lastname FirstName Address City 
Carter Thomas Changan Street Beijing 
Gates Bill Xuanwumen 10 Beijing 
Wilson   fred zhongshan 23   nanjing

!7,delete
1:用于删除表中的行。
2:delete from 表名称 where 列名称 = 值
3:实例
1,删除上例某行。
delete from persons where lastname = 'wilson'
结果wilson哪一行都没了。
2,删除所有行(不删除表,意味着表的结构属性和银锁都是完整的:
delete from table_name 或 delete * from table_name


注释语句单行:————两个连接符,多行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值