Mysql sql语句(3)

sql语句

  • 创建数据库:CREATE DATABASE 数据库名;
  • 删除数据库:DROP DATABASE 数据库名;
  • 选择数据库:user 数据库名;  (cmd操作时 返回Database changed 代表该数据库存在)
  • 创建表格:CREATE TABLE   或者  CREATE TABLE IF NOT EXISTS (表示若表不存在创建);

INT、 VARCHAR(100)、DATE 代表属性 int型、100字符的String、时间类型

UNSIGNED 无符号 

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1

NOT NULL   输入字段不能为null

PRIMARY KEY  定义主键

ENGINE  设置存储引擎(选填)

CHARSET 设置编码(选填)

CREATE TABLE IF NOT EXISTS `tableName`(
`id` INT UNSIGNED AUTO_INCREMENT,
`colum1` VARCHAR(100) NOT NULL,
`time` DATE,
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 删除表格: DROP TABLE 表名 ;
  • 插入数据:INSERT INTO 表名(属性1,属性2,属性3)VALUES(值1,值2,值3)WHERE 条件;  注意not null且没有设置默认值的必填,where 为选择条件,选填
  • 更新数据:UPDATE 表名SET 属性1=新值1, 属性2=新值2 WHERE 条件;where 为选择条件,选填,更新属性1和属性2的值
  • 删除数据:DELETE FROM 表名 WHERE 条件;where 为选择条件,选填
  • 查询数据:SELECT  * FROM 表名 WHERE 条件············
  1. 查询条件写在where侯马,*为全部查询,也可以选择具体属性。 
  2. where 可以包含多个条件,用and  和 or 连接,代表 “并且”、“或者”。
  3. where后面运算符:
    1. =等于、<>     !=不等于、>大于、<小于、>=大于等于、<=小于等于
    2. <=> 严格比较两个null是否相等
    3. between(num1,num2) 两值范围内,not between(num1,num2) 不在两值内 ,
    4. in(数据组)在集合中、not in(数据组)不在集合中
    5. like 模糊查询
    6. REGEXP 、 RLIKE正则匹配
    7. IS NULL 空、IS NOT NULL不是空
select *  from table2  where num1=1 and num2>2 or num3 in(1,2,3,4,5,6); 

//where条件 中like 使用。 表示 name的值,借尾是abc的就返回;‘abc%’表示开头是abc就返回;‘%abc%’表示包含abc就返回。一般用作模糊查询 
select *  from table2  where name like ‘%abc’;  

//AS 代表输出时user_name被输出为Name
select user_name as Name from table2 ;

//UNION连接表:UNION表示连接2个及以上的select 查询结果集合到一个集合里,会自动筛除重复数据
select book  from table1 UNION  select book  from table2;
  1. LEFT JOIN连接表:获取左表所有记录,即使右表没有对应匹配的记录。
  2. RIGHTJOIN连接表:用于获取右表所有记录,即使左表没有对应匹配的记录。
  3. FULL OUTER JOIN:获取两张表中所有字段,两张表,有一张表返回数据不是null就返回
  4. INNER JOIN连接表:获取两个表中字段匹配关系的记录。
  • 相当于  select book,money from table1 , table2 where table1.bookname=table2.bookname 但这个会把所有可能的组合都创建出来,低效利用数据库资源
  • 连接表也可以如此查询,以left join 为例: 括号内是查询出的字段,命名为C,并与A进行匹配、显示

select A.id, C.num  from left  join (select id, number as num from B)as C on C. id=A.id

  1. ORDER BY  排序: asc 为升序 desc 为降序
  2. Group by 分组      按照bookType 统计数量并分组
  3. 
    select *  from table2 order by name asc  ;  
    
    select count(*)  from table2  where group by bookType;
    null 判断 ,不能用!=,=判断
select * from table where name is null;
select * from table where name is not null;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值