进入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;
结果:
————————————————————————
————————————————————————
获取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>
1用and显示所有姓为carter并且名为thomas的人
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'
>=
<=
between 在某个范围内
like 搜索某种格式
3,实例:
如果只希望选择住在北京的人:
select * from persons where city='beijing'
如果只选择出生年大于1965的:
select * from persons where year>1965
———特别注意:sql使用单引号来环绕文本值,如果是数值,不要用引号。——
!4,and or
1:用于基于一个以上的条件对记录进行过滤,把多个条件结合起来,和c的判断是类似的
实例:
select * from persons where firstname='thomas' 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
注释语句单行:————两个连接符,多行