2018-11-09 SQL常用语句(一)

1.DDL操作

概要

(一)创建数据库

create database 数据库名  character set utf-8;

(二)创建表

create table stu
(
   性别               int(10),
   地址              varchar(50),
   姓名                varchar(50),
  联系电话          int(12)
);
image.png

(三)查询表的字段信息:

desc 表名;
image.png

(四)添加一列

注意varchar()必须要指定最大占多少个字节,不指定就会报错。
alter table 表名  add 列名 数据类型
image.png

(五)修改一个表的字段类型

alter table 表名 modify 字段名 数据类型;
image.png

(六)删除一列

alter table 表名 drop 列名;
image.png

(七)修改表名

rename table 表名 to 新表名;

(七)查看表的创建细节

show create table 表名;
image.png

(八)修改表的字符集

alter table 表名 character set 字符集名称
image.png

(九)修改表的列名

alter table 表名 change  原始列名 新列名 数据类型;
image.png

(十)删除表

drop table 表名;
image.png

(十一)在指定的列后面添加一列

alter table 表名 add (column) 列名 数据类型 after 指定列名;
image.png

(十二)在第一列添加列

alter table 表名 add (column) 列名 数据类型 first;
image.png

2.DML

(一)查询数据库表当中的所有信息

image.png

(二)往表当中插入一条记录

insert into 表名 (列名1,列名2.....)values(列值1,列值2....);
image.png

(三)往表当中批量添加记录

insert into 表名 (列名1,列名2...) values  (列值1,列值2...), (列值1,列值2...), (列值1,列值2...)...
image.png

(四)更新操作

update 表名 set 列名1=列值1,列名2=列值2...where 列名=值;
将所有学生的成绩改为90

将name是张三的学生的成绩改为60

将名字是李四的学生的age改为20,score改为70

将名字是娜美的学生的年龄+1

(五)修改用户密码

使用sql语句修改用户密码

**********************5.7之前**************************
update user set password=password("abc") where user='root';
**********************5.7之后**********************************
update user set authentication_string=password("12345") where user='root' and Host='localhost';
**************注意要刷新mysql的系统权限相关表******************
flush privileges;

使用mysqladmin命令来修改

*******************将用户密码修改为1234*************************
mysqladmin -u root -p password 1234;

(六)删除操作

delete from 表名 where 列名=列值;
image.png
*****************直接删除表,然后在创建一个同名的新表**********************
truncate table 表名
image.png
*************deldete与truncate的区别****************
deldete删除表当中的数据,表结构还在,删除后的数据可以找回
truncate删除是直接将表drop掉,然后在创建一个同样的新表,删除的数据不能找回,执行速度比delete快。

3.DQL

通过查询语句查询出来的数据是以表的形式展示给我们的,我们称这个表为虚拟结果集,存放在内存当中

查询返回的结果集是一张虚拟表

(一)条件查询运算符及关键字

屏幕快照 2019-03-22 下午9.14.33.png
1.查询ID是101,102,103的记录
select * from students where id=101 or id=102 or id=103;
select * from students where id in (101,102,103);
image.png
2. 查询name为null的记录
select * from students where name is null;
**************以下的查询方式是错误的****************
select * from students where name=null;
select * from students where name='null';
image.png
3.查询姓名不为null的记录
select * from students where name is  not null;
image.png
3.查询年龄在18到20 之间的学生记录
select * from students where age between 18 and 20;
select * from students where age>=18 and age<=20;
image.png

(二)模糊查询

like关键字后面跟通配符构成模糊查询

image.png
1.查询姓名由2个字符构成的记录
select * from students where name  like '__';
image.png

(三)字段控制查询

去除重复的字段
把查询字段的结果进行运算,必须都是数据类型
对查询结果起别名
1.去除重复的字段
*******************去除重复的字段使用distinct关键字*********************
select distinct age from students ;
2.对字段取别名
select *,age+score from students;
select *,ifnull(age,0)+ifnull(score,0) from students;
image.png
select *,ifnull(age,0)+ifnull(score,0) as total from students;
image.png

(四)排序

对查询出来的结果进行排序,使用关键字order by;
升序asc(默认):
降序desc:
***********按照薪水的升序,ID的降序排列*********************
select * from employee order by salary ,id desc;
image.png

(五)sql文件的导入导出

导出

image.png

一路按照提示操作下去即可

导入

点击数据库---->运行sql文件

一路按照提示操作即可

(六)聚合函数

image.png

(七)分组查询

image.png
1.先分组,分完组之后统计每一组的值。

将查询结果按照一个或者多个字段进行分组,字段值相同的为一组

select gender from employee group by gender;
select gender,group_concat(name) from employee group by gender;
image.png
*******************查询每个部门的部门名称和部门的工资总和**************
select department,group_concat(salary),sum(salary) from employee group by department;
image.png
2.group by +聚合函数
image.png
********************询每个部门的名称以及每个部门工资大雨1500的人数****************
select department,group_concat(salary) ,count(*)from employee where salary>1500  group by department;
image.png
3.group by+having
image.png

having主要用在group by的后面,将满足条件的删选出来

*******************询工资总和大于9000的部门名称****************
select department,sum(salary) from employee group by department having sum(salary)>=9000;
image.png
4.having与where的区别
image.png
*****************查询工资大于2000,工资总和大于6000的部门的名称以及工资和
***
select department,group_concat(salary),sum(salary) from employee where salary>2000 group by department  having sum(salary)>=9000;
image.png
5.SQl语句的书写顺序
image.png
6.SQL语句的执行顺序
image.png
7.limit
limit主要用来进行分页查询
limit(curPage-1)* pageSize,pageSize
image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,307评论 0 9
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,811评论 5 116
  • 关系型数据库和SQL SQL语言的三个部分DML:Data Manipulation Language,数据操纵语...
    Awey阅读 1,947评论 0 13
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,723评论 0 44
  • 不知不觉又到了星期六,翻开自己的晨间日记,易效能践行已经四十一天了。应该说九十天的践行快到一半,从开始的不适应,到...
    陈健_6f12阅读 111评论 0 0