【正文】
主要内容:
一、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