SQL零基础入门记录贴

举报
编外无名氏 发表于 2019/06/21 10:27:44 2019/06/21
【摘要】 零基础学SQL流水账

都在说大数据,人工智能,各种概念和术语让我一个小白连书都快看不懂了。

或许深入学习一门计算语言会能更多的知道一点,终于在本周的6.18号,启动了SQL学习,

希望能从这里开始入门了解一些计算类语言,更贴近的了解一些术语在说什么,更多的深入了解一些趋势,

考虑到自己有懒癌症基因,避免三天打鱼两天晒网,因此找个时机记录下自己的学习流水。


6-18 安装就花了一天,最后还是请别人帮忙,搞定了Mysql的安装,不要问我为什么不安装Oracle, 不是我不想(毕竟我找到的课件也是Oracle为软件基础教学)而是我真的装不来(o(╥﹏╥)o)


6-19,6-20 教材:深入浅出sql


创建数据库:CREATE database


创建表:CREATE table my_contacts (last_name VARCHAR(30),first_name VARCHAR(20),email VARCHAR(50),gender VARCHAR(1),birthday DATE,profession VARCHAR(50),location VARCHAR(50),status VARCHAR(20),interests VARCHAR(100),seeking VARCHAR(100))


注意标点符号必须是英文半角符号,括号要写全,单词要写对,否则都会报错,最后的;不要忘记了!;代表执行命令


必须带上表述单位的VARCHAR/int/blob/desc/dec


删除表:DROP my_contacts; (所有的东西都会被删除,全部,都,慎用)


计量单位:

VARCHAR, 自定义字符串长度  CHAR (1) T/F是他的最爱   INT 整数,排除了分数    DATE/DATETIME 一个管日期一个管时间 
BLOB 长文本符号 
DESC 定义数字显示出来的长度位数和小数点位数


插入给表格赋值:INSERT INTO....VALUES(..);


INSERT INTO my_contacts(last_name,first_name,email,gender,birthday,profession,location,status,interests,seeking)
    VALUES('zhang','san','huawei@com','F','1802-12-10','management','shenzhen','specality','learning','beautiful');
在MY SQL中有自动换行,一个命令中间不可以敲多个ENTER键产生不同行,会报错。


可以变化顺序:
INSERT INTO my_contacts(last_name,first_name,location,email,gender,birthday,profession,status,interests,seeking) VALUES('li','si','shenzhen','huawei1@com','F','1980-1-12','IT','single','edit code','scenery')


可以直接按照表格创建好的列的顺序赋值,从而省略插入位置的代码编写


INSERT INTO my_contacts VALUES ('wang','er','huawei3@com','M','1999-1-1','student','guangzhou','single','learning','high score');
可以查人不完整的列,这里必须制定位置行赋值
INSERT INTO my_contacts(first_name,email,profession,location) VALUES ('li','xiaoming@com','worker','guangzhou');

Insert into easy_drinks values ('tea','soda','1.5','blueberry','0.76','stir with ice'), ('soda','pineapple','1.5','blueberry','0.76','stir with ice');
Query OK, 2 rows affected
Records: 2  Duplicates: 0  Warnings: 0

可以一次性插入赋值多行


查找功能:SELECT * FROM 表格 where = ‘赋值’;


SELECT* from my_contacts where last_name ='zhang';


查询的单位格式惯例:
VARCHAR,CHAR,DATE,DATETIME,BLOB 需要加上单引号;DEC和int不需要单引号直接等于。


关联查询:selete * from 表明 where 赋值 and 赋值

select main from easy_drinks where amount1 = 1.5 and drink_name = 'tea';

注意:= 代表一致,'<  '和   '>' 不是代表小于和等于,而是代表不等于。


select...or

选择性选择;select drink_name from easy_drinks where second= 'pineapple_juice' or   main = '二氧化碳';

and 和or 的区别要注意(前者结果显示交集,后者显示并集)


查询NULL的列值(用is null 语句)

select last_name,first_name  from my_contacts where gender is null;


模糊查询 like (通配符号 % 和_)

select * from my_contacts where location like '%en'; (%代表任意数量的未知字符的替身,以en结尾的地方)
select * from my_contacts where last_name like '%g';
select * from my_contacts where last_name like '_g';(_代表前面一位的未知字符的替身,g前面只有一位,以g结尾的名字)
select * from my_contacts where last_name like 'g%';

位置放在哪里代表在前面还是在后面的条件限制。


between...and 查询, 节省时间,对比:
select drink_name from drink_info where calories between 30 and 60;
select drink_name from drink_info where calories >=30 and calories<=60;


显示表:
desc drink_info;


查询集合和非集合:in 和not in (not in 是个例外可以不紧跟where)
select date_name from black_book where rating in ( 'innovative','fabulous','delightful','pretty good');
select date_name from black_book where rating not in ( 'innovative','fabulous','delightful','pretty good');
select date_name from black_book where not rating in  ( 'innovative','fabulous','delightful','pretty good');

其他请务必注意 not 必须紧跟where
select date_name from black_book where not date_name like 'a%' and not date_name like 'b%' ;


运算符小结:* \ is null  and or  between  =<>


删除相同数据信息记录,和select一样。
delete from easy_drinks where directions ='stir with ice'; 删除表中重复的某一行。
可以删除多行或者一行取决于where的条件设定

缺陷:delete 不能删除单一表中某一个列的特定值;也不能删除某一列的所有值;
删除所有数据:delete from 表名。

delete 语句搭配where删除和select 搭配where 使用语句命令一致。但是delete定位后删除整行。


好像感觉SQL的命令和英语语法结构还挺相像的???Hoho,  加油入门吧~~~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。