msyql 语法

创建数据库
create database  数据库名  charset=utf8;

查看创建数据库的语句
show crate database ...

使用数据库
use 数据库的名

删除数据库
drop database 数据库名;

约束
主键 primary key:物理上存储的顺序
非空 not null:此字段不允许填写空值
唯一 unique:此字段的值不允许重复
默认 default:当粗填写此值时会使用的默认值
外键 foreign key:对关系字段进行约束,当为关系字段填写值时,会关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并跑出异常

查看表结构
desc tablename;

修改表-添加字段
alter table add 列名 类型;

修改字段
alter table modify 列名 类型及约束;

重命名字段
alter table change 原名 新名 类型及约束;

删除字段
alter table drop 列名;
添加数据
 insert into tablename(...) values(...);
更新数据
update tablename set   字段名=vialue  where  条件;
删除数据
delete from 表名  where 条件;
使用as给字段起别名
select 字段 as  名字 from tablename;

去重
select distinct 字段  from tablename;

条件查询

  比较运算符
  - >
  select * from students where age >18;
  - <
select * from students where age <18;
  - >=
select * from students where age >=18;
  - <=
select * from students where age <=18;
  - =
select * from students where age = 18;
  - != 或 <>
select * from students where age !=18;
  逻辑运算符
  - and
select * from students where age >18 and age<28;
  - or
select * from students where age >18 or age<28;
  - not
select * from students where not (age >18 or age<28);
模糊查询
  like 
  %  替换1个或多个
  _  替换1个
  - 以小开头
  select name  from students where name like  "小%";
  - 包含小
  select name  from students where name like  "%小%";
  - rlike 正则
  - 以周开头
  select name from students where name rlike "^周.*";
  
  范围查询
  in  表示在一个非连续的范围内
  select name from students where age in (12,15);
  not in  不非连续的范围之内
  select name from students where age not in (12,15);
  
  between  ... and ...  表示在一个连续的范围内
  select * from students where age between 18 and 35;
  not between... and ... 表示不在一个连续的范围内
  select * from students where age  not between 18 and 35;
  
空判断
  判空 is null
  select * from students where age is null;
  判非空 is not null
  select * from students where age is not null;
  排序
  order by  字段
  asc   升序
  desc  降序
  select * from students order by age asc/desc;
  聚合函数
  count  统计
  select count(*) from  students;
  最大值
  max
  最小值
  min
  求和
  sum
  平均值
  avg
  四舍五入
  round(12.23,1)  保留1位小数
  
  分组
  group by
  select gender from students group by gender;
  按照性别分组并统计人数
  select gender,count(*) from students group by             
  gender;
  按照性别分组并显示姓名
  select gender,group_concat(name) from students 
  group by gender;
  分页
  limit start,count
  select * from students limit 2;
  每页显示2个,第2个页面
  select * from students limit 2,2;
  连接查询
  内连接
  inner join ... on
  select ... from 表A inner join 表B;
  select * from students inner join classes on students.cls_id=classes.id;
  select students.name ,classes.id inner join classes on  students.cls_id=classes.id;
  select s.*,c.name  from students as s inner join classes as c on s.cls_id=c.id;
  左连接,以左表为准,左表显示所有数据,右表没有数据显示null
  left join
  以c.name排序然后再按s.id排序
  select s.*,c.name from students left join classes as c on s.cls_id=c.id order by c.name,s.id;
  右连接
  right join  ...
子查询
  标量子查询
  select * from students where age>(select avg(age) from students);
   列级子查询
  select name from classes where id in (select cls_id from studets);
   行级子查询
  select * from students where (height,age) = (select max(height),max(age) from students);
表关系  ER图
   1对1
    两张表任何一张表都可以建关联字段
   1对多
    在多的表中建关联字段
   多对多
    新建一张表建关联字段
三范式
  第一范式
    原子性,表的字段不可再拆分成更小的字段
  第二范式
    在满足第一范式的基础上,非主键必须完全依赖主键,而不是依赖主键的一部分。
  第三范式
  满足第二范式并且每个字段都不间接依赖于主键列
  
  视图
  视图是什么
    视图就是一条select语句执行后返回的结果集
    视图是对若干张基本表的引用,一张虚表,查询语句    
  执行的结果,不存储具体的数据
  定义视图
      create view 视图名称 as select语句;
  查看视图
       查看表会将所有的视图也列出来
     show tables;
   视图的用途就是查询
      select * from  v_stu_score;
  删除视图
      drop view 视图名称
      drop view v_stu_score;
  视图的作用
      1.提高了重用性,就像一个函数
       2.对数据库重构,却不影响程序的运行
      3.提高了安全性能,可以对不同的用户
      4.让数据更加清晰
事务
  1 为什么要有事务 
      所谓事务,它是一个操作序列,这些操作要么都执行要么都不执行,它是一个不可分割的工作单位
   事务的四大特性(简称 ACID)
       原子性 Atomicity
       一致性 Consistenvy
       隔离性 Lsolation
       持久性 Durablity
   
索引
  索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分 ),它们包含着对数据表里所有记录的引用指针
  索引目的
      索引的目的在于提高查询效率,可以类比字典
  索引的抵用
      查看索引
          show index from 表名;
       创建索引
          如果指定的字段是字符串,需要指定长度,建议与定义字段时的长度一致
          字段类型如果不是字符串,可以不填写长度部分
          create index 索引名称 on 表名(字段名称(长度))
      删除索引
            drop index 索引名称 on  表名;
       
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容