设为首页 收藏本站
查看: 1202|回复: 0

[经验分享] MySQL数据库学习笔记(三)----基本的SQL语句

[复制链接]

尚未签到

发表于 2018-10-20 13:13:16 | 显示全部楼层 |阅读模式
  【正文】
  主要内容:

  •   一、cmd命令行的常用命令
  •   二、数据定义语言(DDL)
  •   三、数据操纵语言(DML)
  •   四、数据查询语言(DRL)
  •   五、事务控制语言(TCL)
  一、cmd命令行的常用命令:
  当我们使用MySQL 5.5 Command Line Client这个客户端登陆时,只能登陆root用户。如果今后创建了别的用户,就很麻烦了,所以我们不用MySQL 5.5 Command Line Client这个客户端,而是直接使用cmd。
  登录MySQL数据库:
  因为在这之前安装MySQL的时候,已经将环境变量配置好了,所以可以直接在cmd中输入如下命令进行登陆:
mysql -u root -p  紧接着输入密码就行了。
  上方代码中,-u表示username,即用户名。-p表示password,即密码。

  查看数据库:
show databases;  使用数据库:(此命令后面可以不加分号)
use 数据库名;  查看当前数据库表:
show tables;  注:命令后面的分号表示结束。

  注:上图中,先输入show databases;显示出了四个库,前三个表示系统的库,第四个test是系统自带的测试库。然后我们使用test这个数据库,显示:Database changed,表示当前的数据库处于激活状态。紧接着可以对其进行其他相关的命令了。这里我们输入show tables,可以看到test这个数据库的表里面是空的。
  所以要开始建表了,于是就涉及到了SQL语句。
  SQL全称是:结构化查询语言(Structured Query Language)。既然是语言,就涉及到了语法。下面来看一下常见的语法。
  二、数据定义语言(DDL)
  数据定义语言:Data Definition Language。如CREATE, DROP,ALTER等语句。需要注意的是,数据库中的命令不区分大小写
  创建数据库(CREATE DATABASE语句):
  【举例】新建数据库,命名为mydb:
CREATE DATABASE mydb;  注:如若要删除数据库,将“create”改为“drop”即可。
  创建表(CREATE TABLE语句
  【举例】创建一个名为teacher的表:
CREATE TABLE teacher(  
id int primary key auto_increment,
  
name varchar(20),
  
gender char(1),
  
age int(2),
  
birth date,
  
description varchar(100)
  
);
  上面所有的代码其实是同一行。
  定义字段的格式:字段的名字+字段的类型+属性
  注:每个字段定义完后,要用逗号隔开,最后一个字段没有逗号。
  一般情况下,每个表都要有一个主键。
  命令运行的效果如下:

  查看表结构:
desc teacher;  效果如下:

  需要注意的是:主键是用来唯一代表一条记录的字段(主键值必须是唯一)
  删除表(DROP TABLE语句):
DROP TABLE teacher;  注:drop table 语句会删除该的所有记录及表结构
  修改表结构(ALTER TABLE语句):(假设表名为test)

  •   alter table test add column job varchar(10); --添加表列
  •   alter table test rename test1; --修改表名
  •   alter table test drop column name; --删除表列
  •   alter table test modify address char(10) --修改表列类型(改类型)
  •   alter table test change address address1  char(40) --修改表列类型(改名字和类型,和下面的一行效果一样)
  •   alter table test change column address address1 varchar(30)--修改表列名(改名字和类型)

  举例:将主键修改为自动增长:alter table tab_teacher change id>  三、数据操纵语言(DML):
  数据操纵语言:Data Manipulation Language。如:INSERT(增), UPDATE(改), DELETE(删)语句
  添加数据(INSERT INTO…语句):(即添加表的记录)
INSERT INTO 表名(字段1,字段2,字段3) values(值,值,值);  举例:
insert into tab_teacher(name,gender,age,createDate) values('smyh','b',22,now());  注:上方的now()函数可以调出当前系统的时间。
  然后通过如下命令进行查询表的所有记录
select * from tab_teacher;  其中,通配符“*”表示所有字段,即从tab_teacher这个表中查所有字段的记录。
  显示效果如下:

  修改数据(UPDATE … SET语句):
UPDATE 表名 SET 字段1名=值,字段2名=值,字段3名=值 where 字段名=值;  注:where后面的部分表示修改的条件。修改时,按照字段1、字段2、字段3的先后顺序修改。
  删除数据:(DELETE FROM…语句)
  删除所有记录:
DELETE FROM 表名;  删除ID为1的记录:
DELETE FROM 表名 where id=1;  四、数据查询语言(DRL):
  数据查询语言(Data Retrieval Language --DRL):SELECT语句。
  在实际开发中,数据查询语言用的是最多的。我们现在以下面的这张表格为例:

  注:实际开发中,要避免使用通配符"*"(通配符代表所有字段),因为系统要先解析出所有的字段名,将其还原为真实的名字,然后再进行操作。如果记录数据库内容特别多,会影响效率。
  查询所有老师的信息:
select * from tab_teacher;  或者:(推荐)
select id,name,gender,age,job,createDate from tab_teacher;  在没有表被引用的情况下,允许指定DUAL作为一个假的表名:
  DUAL是虚拟表。也就是说,表中没有这个数据,但是要执意使用sql语句,系统就会用这个虚拟表来满足你。举例效果如下:

  查询ID为2的老师信息:
select * from tab_teacher where id=2;  查询职业为空的老师信息:
select * from tab_teacher where job is null;  注意,上方代码中,字段为空用“job is null”来表示,而不是“job=null”。
  查询ID为2的老师的姓名和性别:
select name,gender from tab_teacher where id=2;
  查询性别为女和指定日期的老师信息:
select $ from tab_teacher where gender='w' and ceateDate='2014-10-14';  注:并且用“and”,或用“or”。
  查询性别为男或者ID小于2的老师:
select * from tab_teacher where gender='m' or id

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-624106-1-1.html 上篇帖子: SQL 2008新实例基础安装 下篇帖子: java程序中sql注入分析及优化方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表