学习数据库笔记二


表与数据库与MYSQL数据库服务器(table&database&mysqlserver)?

       表由多行多列的数据组成     (一张表建立好表头,表结构就算建立好了,剩下的只剩往里填数据)

       数据库由多张表组成  tables-->database

       数据库服务器中有多个数据库 databases-->mysql server



什么是SQL语言?

是结构化查询语言(Structured Query Language)

它是一种what类型语言,我们平时使用的是who类型语言,如JAVA要想实现些功能,你必须告诉它,你这一步该怎么样,如果遇到什么情况又该怎么样。而SQL语言是what类型的,你直接告诉它你要什么,它就会给你返回值。


SQL语言分哪三类?

DML数据库操作语言,它约占平时操作的80%,是对已有数据进行查询、修改、删除的操作(其中查询又占它的80%),是站在使用者的角度。

DDL数据库定义语言,占15%,建立表、建立库、建立视图(建立时就需要定义结构,所以建立也叫定义),站在建设者的角度(项目经理建表就是项目经理的角度)

DCL数据库控制语言,占5%,控制数据库的权限,监视你有没有操作这个数据库的权限。当前用户有权查看哪些库,无权查看哪些,站在管理员的角度。




insert操作

行是数据库中最原子的单位,任何操作都是针对行的,即使是一列,或是多列也是基于对哪行的哪列进行操作。

可以插入指定列

也可以插入全部列

但是列和值一定要对应,不想添加的值可以不写,它会以NULL来填充

一张表建立后表结构是固定的,你可以插入全部列,也可以插入部分列。


语法:插入到哪张表,要插入哪几列,这几列都插入什么内容  (这里不用where id,如果你插入时没有指定插入的id,那么会自动递增,如果指定的id已经存在,会报错)

insert into user (id,name,age) values (3,'lilei',18);

如果想给所有列都添加值,可以把前面括号的列名省略

insert into user values(5,'Lucy',16);


查看表结构的语句:desc user;



update操作

语法:更新哪张表,修改成什么,更改哪条数据

例一 update user set age=16 where name='Lucy';    更新修改的条件不一定非得是id,可以是name或其它

例二 update user set name='Lisi',age='28' where schoolcode='15';    


非常严重的错误写法,没写要改哪条:

update user set age = 18;     这样写整个表的age都被改成了18,工作中要这样写,啥也别说,赶紧跑路吧。

*Oracle和MySQL等数据库一般可以设置新手模式,不写where条件不允许提交,以防数据丢失。



delete操作

在关系型数据库中,一行是最原子的单位,要删除只能删除一整行,如果只删除一个字段,那是修改,得用update,把你要删除的那行set成Null

所以在delete语法中不用写你删除的字段,因为一删就是一行,删除语句相对来说最简单。

语法:删除哪张表,的哪一行数据。

delete from user where id=9;              

严重错误,忘记写条件!!

delete from user;   会把整个user表的数据都删光,删完接着跑路。。



select操作(占DML数据库操作语言的80%,也是最难的部分,要靠数据查询模型)

最简单的查询操作是select * from user;  但现实工作中不能用*,几条语句还好,现在工程当中都是几百万条数据,用*来查询,瞬间就把内存挤爆了,简直是胡闹,应该用哪条数据查哪条,只会select * from 的人,工资水平也就3K了。

语法:要查什么(哪几列),哪张表,第几行记录

select * from user where id=9;


查询数据的时候,你可以查询它的多行

select * from user where id=3;

select * from user where id>=3;


你还可以查它的哪几列

select name,age from user where id>=5;

查一列

select name from user where id=5;



数据库的操作都是对列内容进行操作,然后指定是对哪一行的列进行操作!











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值