mysql

创建Mysql数据表语法:

CREATE  TABLE  table_name (column_name column_type);

创建runoob_table

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。
删除Mysql数据表的语法;
DROP TABLE table_name;
查询:
select * from 表名称

eg: select LastName ,FirstName from persons
表中查询:
eg: select distinct 列名称 from 表名称
select distinct Company from Orders;

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。


条件查询:
where select 列名称 from 表名称 where 列 运算符 值
  eg: select * from Persons where City ='Beijing';

AND 和or 运算符用于基于一个以上的条件对记录进行过滤:
and和 or可在where 子语句中把两个或者多个条件结合起来;

如果第一个条件和第二个条件都成立则And 运算符显示一条记录,
使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:
eg: select * from Perons where FirstName ='Thomas' And LastName = 'Carter';
如果第一个条件和第二个条件只要一个成立,则or运算符显示一条记录,
使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:
eg: select * from Persons where FirstName = 'Thomas' or LastName ='carter';

and 和or 结合起来 (使用圆括号来组成复杂的表达式)
查询出第一个名字是Thomas 和 William 第二个是Carter的数据
eg: select * from Persons where (FirstName ='Thomas' or LastName = 'William') And LastName ='Carter';

order by 语句 用于根据制定的列对结果集进行排序
默认按照升序对记录进行排序 降序排序用关键字Desc

  以字母顺序显示公司名称:
eg; select Company ,orderNumber From orders order By company ;
CompanyOrderNumber
Apple 4698
IBM 3532
W3School 6953
W3School 2356

  以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber)
  select Company ,orderNumber From orders order By company ,orderNumber;
CompanyOrderNumber
Apple 4698
IBM 3532
W3School 2356
W3School 6953

 

eg;select Company ,orderNumber from orders order  By  company desc, orderNumber desc;

insert into 用于语句向表格中插入新的行,
  语法: insert into 表名称 values(值1,值2);
我们也可以指定所要插入的列
eg: insert into table_name(列1,列2) values(值1,值2);
insert into Persons Values ('Gates','Bill','xuanwumen','beijing');
 
eg: insert into Persons (LastName ,Address) values ('wilson','Champs-Elyess');

update 语法,用于修改表中的数据;
  
  update 表名称 set 列名称 = 新值 where 列名称 = 某值
 eg; update Person set  FirstName = 'fred' where LastName ='wilson';
   update person set Address = 'zhongshan23' , city='Nanjing' where LastName = 'wilson';

delete 语句用于删除表中的行
delete from 表名称 where 列名称 =值
  eg; 删除某行;
    delete from Person where LastName = 'wilson';
  删除所有行,(即表的结构,属性和索引都是完整的)
    eg;delete from table_name / delete * from table_name;


like 操作符用于在where 子句中搜索列中的指定模式。

eg: select * from Persons where City like 'N%' "%"可用于定义通配符

  select * from Persons Where City like '%lon%'
  select * from Persons Where City not like '%lon%' persons 表中不包含lon的人


in 操作符允许我们在where子句中规定多个值

从persons表中选出姓氏中为adams 和carter的人 
eg; select * from Persons Where lastName in ('Adams','Carter') ;


between 操作符在 where子句中选取,作用是选取介于两者之间的数据范围。
这些值可以是数值,文本,或者日期。
语法:
    select Column_name
    from Table_name
    where column_name
    Between value1 and value2

eg: select * from Persons where lastName Between 'Adams' and 'Cater'
  显示介于adams (包括)和cater(不包括)之间的人。

  select * from Persons where lastname Not Between 'adams' and 'Cater'
  显示范围之外的人 使用not 操作符


两个表关联

eg; select Persons.LastName ,Persons.FirstNname, Orders.orderNo
  from Persons,Orders
  where Persons.Id= Orders.Id
函数. AVG函数返回数值列的平均值,Null 值不包括在计算中
    
    查找OrderPrice 值高于orderPrice平均值的客户
语法: select Customer from Orders
     where orderPrice > (select AVG (orderPrice) from Orders )


posted @ 2018-04-11 21:39  夜纸鸢  阅读(155)  评论(0编辑  收藏  举报