Mysql学习基础语法
-- Mysql 数 据 库 语 法 创建数据库 create database 数据库名; 创建表 create table 表名(id int,name varchar(20) ); 复制表和数据 create table 复制后新的表名 select * from 旧表名; 复制表的结构 create table 复制后新的表名 select * from where 1=0 ; 创建索引 create index 索引名 on 表名(列名); 创建视图 create view 视图名 as select 列名1,列名2, ..... ; 删除表 drop table 表名; 显示表的结构 describe 表名 ; 修改表名 alter table 新表名 rename 要修改的表名; 创建列 alter table 表名 add 列名 数据类型; 删除列 alter table 表名 drop 列名; 修改列名或者数据类型 alter table 表名 change 列名 新列名 旧数据类型; 修改数据类型 alter table 表名 modify 列名 新数据类型; 删除索引 drop index 索引名 on 表名 ; alter table 表名 drop index 索引名 ; 主键约束 例如: 第一种方法 id int primary key ;
第二种方法 表里面内容最后写入 primary key (id) ;
唯一约束 例如: id int unique ;
与主键相同 id int unique not null ;
默认约束 例如: gender char(3) default '男' ;
非空约束 id int not null ; 外键与外键约束 首先:创建一个外键 与另一个表产生关系 然后:constraint 外键约束名 foreign key(创建的外键名-》列名) references 另一个表名(列名-必须有主键约束) 区别:有外键表示两表有关系, 有外键不一定有外键约束,有外键约束一定有外键。
删除数据 先删除从表数据 delete from 表名 where 列名 = 列名下的编号 ;
再删除主表数据 delete from 表名 where 列名 = 列名下的编号 ; -- 外部写入主键、外键、外键约束 添加自动增长(只能主键) alter table 表名 列名1 列名1 数据类型 auto_increment ;
改变自动增长初始值 alter table 表名 auto_increment=1000 ;
删除自动增长 alter table 表名 change 列名1 列名1 数据类型 ;
添加主键约束 第一种 alter table 表名 add constraint primary key(列名) ;
第二种 alter table 表名 change 列名1 列名1 数据类型 primary key ;
删除主键约束(必须先删自动增长) alter table 表名 drop primary key ;
添加唯一约束 alter table 表名 add unique(列名2);
删除唯一约束 alter table 表名 drop index 列名2 ;
添加默认约束 alter table 表名 change 列名2 列名2 数据类型 default '男' ;
删除默认约束 alter table 表名 change 列名2 列名2 数据类型 ;
添加非空约束 alter table 表名 change 列名2 列名2 数据类型 not null ;
删除非空约束 alter table 表名 change 列名2 列名2 数据类型 ;
添加外键约束 alter table 表名 add constraint 外键约束名 foreign key(外键列名)references 另一个表名(列名) ;
删除外键约束 alter table 表名 drop foreign key 外键约束名 ;
添加数据 insert into 表名(对应的列:逗号隔开)values(数据1,数据2,*******);
简写: insert into 表名 values(数据1,数据2,****);
修改数据 update 表名 set 列名 = 新数据 where pk_id=2(加入的条件);
处理空值时: update 表名 set 列名 = 新数据 where 列名 is null ;
只删除数据: update 表名 set 列名 = null where pk_id=2(加入的条件);
删除数据 删除后可以恢复 delete from 表名 where pk_id=2(删除的条件);
truncate table 表名; -- 查询数据 语法 查询表中所有信息 select 列名1,列名2 from 表名;
select * from 表名;
表别名 select 表别名.id as '编号',表别名.name as '名字' from 表名 as '表别名' ; 列别名 select id as '编号',name as '名字' from 表名 ;
计算列 select age as '当前年龄',age+10 as '10年后的年龄' from 表名;
在一列显示数据(字符串拼接函数) select concat(name," ",age) from 表名;
计算长度函数 select length("内容");
多列去重复 select distinct 列名 1,列名2 from 表名;
分页(limit) select * from 表名 limit 2; 一个参数,表示从第一行开始返回指定行数的结果。
select * from 表名 limit 2,5; 两个参数,表示从指定行开始返回指定行数的结果;
分页公式 (页数-1)* 每页显示数据的条数 between and(在什么之间包括上限和下限) select * from 表名 where 列名 between 18 and 20 ; 查询年龄在18--20岁的人(包括18和20) in (在什么里面) select * from 表名 where 列名 in(17,20,25); 查询17,20,25 岁的人 select * from 表名 where age=17 or age=20 or age=20 ; not in (不在什么里面) select * from 表名 where age!=15 and age!=30 ; 查询年龄不是15和30岁的人;
select * from 表名 where age not in(15,30) ;
like 模糊查询 select * from 表名 where 列名 like '张_' ; 查询姓张的(两个字)同学的信息
select * from 表名 where 列名 like '__' ; 查询姓名为两个字的同学信息
select * from 表名 where 列名 like '李%' ; 查询以李开头姓名的同学信息
select * from 表名 where 列名 like '%赵%'; 查询姓名包含赵字的同学的信息
查询空值 is select * from 表名 where 列名 is null ; 查询姓名为空值的同学的信息
排序 order by select * from 表名 order by age asc; 按年龄从小到大排列同学的信息
select * from 表名 order by age desc; 年龄从大到小排列同学的信息
多列排序 select * from 表名 order by age desc,chengji desc; 年龄从大到小排列,成绩从高到低排列; 执行步骤:1:from 2:where 3:select 4:order by -- 函数与分组 count(*)统计包括null值得行 select count(*) from 表名;
count(all 列名)统计不包括null的行 select count(all 列名) from 表名;
count(distinct 列名)统计不包括null的行,并且去重复 select count(distinct 列名) from 表名;
sum(列名) 对单个列求和 select sum(列名) from 表名;
sum(distinct 列名)对单个列求和(相同只求一次) select sum(distinct 列名) from 表名;
avg(列名)求某个列的平均值 select avg(列名) from 表名;
max(列名)求某个列的最大值 select max(列名) from 表名;
min(列名)求某个列的最小值 select min(列名) from 表名;
round(,2) 保留几位小数 select round(avg(列名1),2) from 表名; 表示对列名1取平均值后保留两位小数 分组 group by select 列名1,列名2, 聚合函数 from 表名 where 过滤条件 group by 列名1,列名2;
having与where区别 where运行在分组前,having运行在分组后 SQL语句 执行顺序 1 from 2 where 3 group by(分组) 4 select(投影) 5 having 6 order by(排序) 。 字符串转整型: atoi( 要修改的名字 ) ;
整型转字符串: itoa(新字符串名,要修改的名字,10);
浮点型转字符串: gcvt( 新字符串名,保留的位数,要改的名字);
Mysql学习基础语法的更多相关文章
- MySQL:基础语法-4
MySQL:基础语法-4 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...
- MySQL:基础语法-3
MySQL:基础语法-3 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...
- MySQL:基础语法-2
MySQL:基础语法-2 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...
- MySQL:基础语法-1
MySQL:基础语法-1 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 关于数据库的安装操 ...
- MySQL学习基础 之 起航篇
MySQL 学习来自慕课网<与MySQL的零距离接触> MySQL是一个开源的关系型数据库管理系统 MySQL分为社区版和企业版 MySQL登录和退出相关的命令 参数 描述 -D,--da ...
- MySQL学习基础
MySQL是被Sun公司收购了,所以也有热咖啡图标,不过MySQL的作者后来又做了一个MariaDB,小海豚图标,也很好用. MySQL学习: <MySQL网络数据库设计与开发>(电子工业 ...
- .bat学习-基础语法(常用)
一般来说,脚本或者语言都有相同地方 定义变量,输入,输出,判断条件等等.知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西. bat为批处理脚本BATCH.现在只知道是使用于win ...
- MySQL学习——基础
本文是MySQL的基础知识. Linux启动MySQL服务命令 : service mysql start Linux关闭MySQL服务命令 : service mysql stop 登录MySQL命 ...
- MySQL学习基础知识1
什么是数据库? 数据库就是存储数据的仓库. 存储方式: 变量 无法永久存储 文件处理,可以永久存储,弊端:文件只能在自己的计算机读写,无法被分享(局域网除外) 数据库分类: 1.关系型数据库 提供某种 ...
随机推荐
- strcmp() Anyone?
uva11732:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_prob ...
- Windows消息编程(写的不错,有前因后果)
本文主要包括以下内容: 1.简单理解Windows的消息2.通过一个简单的Win32程序理解Windows消息3.通过几个Win32程序实例进一步深入理解Windows消息4.队列消息和非队列消息5. ...
- Codeforces Round #312 (Div. 2) C.Amr and Chemistry
Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experime ...
- -_-#toFixed
parseFloattoFixed
- JavaScript权威指南学习笔记5
下午在杭图回去前看了书中第二部分的13-17章,看的很粗,感觉大部分东西自己已经知道或者平时开发中不会用到,很多章节只是简单的翻了一下,没有仔细思考里面说到的道理,下面对各章节简单的记录下. 第13章 ...
- Android新浪微博客户端(五)——主界面的TabHost和WeiboUtil
原文出自:方杰|http://fangjie.info/?p=183转载请注明出处 最终效果演示:http://fangjie.info/?page_id=54 该项目代码已经放到github:htt ...
- 大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户
大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户 主题:大龄剩女四大结局:孤寡 后妈 拉拉 出家
- wikioi 1044 拦截导弹 (1999年NOIP全国联赛提高组)
题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某 ...
- PHP读取文件内容的三种方式
<?php // 第一种读取方式 header("content-type:text/html;charset=utf-8"); // 文件路径 $fileA = " ...
- HDU3631:Shortest Path(Floyd)
Problem Description When YY was a boy and LMY was a girl, they trained for NOI (National Olympiad in ...