sql数据库基础

登录数据库:MySQL-uroot -p123456

登录别人数据库:MySQL -h192.168.x.x -P3306 -uroot -p123456

注释:#

--加空格

1.数据库:Database,是按照一定的数据结构来组织存储和管理数据的仓库,

数据模块的三要素:数据结构,数据操作,数据约束

数据模型分类:层次模型,网状模型,关系模型

2.数据库管理系统:(Database Management System,DBMS)

是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心

3.数据库管理员(Database administrator,DBA)

是负责对数据进行规划,设计,协调,维护和管理的人员

4.数据库系统(Database System,DBS)

数据库+数据库管理系统(开发工具)+应用程序+数据库管理员

5.数据库系统的特点

数据结构化 有数据安全性和完整性 数据的高独立性 数据由DBMS统一管理和控制 易于使用 便于扩展

优点:1)可将数据库持久化到硬盘 2)可存储大量数据 3)方便检索

6.LAMP的定义

Linux

Apache

MySQL

PHP

7.SQL语言包含4部分:

数据查询语言(DQL-Data Language)

数据操作语言(DML-Data Manipulation Language)

数据定义语言(DDL-Data Definition Language)

数据控制语言(DCL-Data Control Language)

8.DDL:数据库定义语言,比如创建,修改或删除数据库对象

create table :创建数据库表DCL

alter table:更改表结构,添加或修改列长度

drop table:删除表

create index:在表上创建索引

drop index:删除索引

drop database:删除库

如:drop database student;

9.DCL:数据库控制语言

grant:授予访问权限

revoke:撤消访问权限

commit:提交事务

rollback:回退事务

10.DML:数据库操作语言

insert:添加数据到数据库

update:修改数据库中数据

delete:删除数据库中的数据

11.DQL:数据库查询语言

select:查询数据库中的数据

12.关系型数据库(有且仅有一个节点,称为根节点)

oracle(产品免费,服务昂贵)

SQL Server:默认端口:1433

MySQL:默认端口:3306(开源,免费稳定性好)

DB2:默认端口5000(兼容性低)

PostgreSQL:默认端口5432

13.非关系型数据库,也称NoSQL,NoSQL指的是Not Only SQL

非关系型数据库为了处理海量数据

MongoD数据库:默认端口27017

Redis数据库:默认端口6379

14 SQL数据库

Mysql登录:mysql -u root -p

登出:exit或者quit或者\q

MySQL数据库系统表结构:

MySQL自带四个数据库:MySQL,information_schema,test,performance_schema

15.mysql常用命令

1) 显示所有字符集:show char set;

utf8,Gbk,Gb2312是字符集

2) 创建数据库,判断是否存在数据库,指定编码格式(默认字符)

create database[IF NOT EXISTS] 数据库名[default ] character set [=]默认字符集

举例:create database school charset utf8;

3)创建数据库:create database 数据库名

4)删除数据库:drop database[if exitsts] 数据库名

5)修改数据库的字符串:alter databases 数据库名[default] character set [=] 字符集

16.数据类型

字符串型

整形

浮点数,定点数(decimal)

日期

17.约束类型 非空约束 主键约束 唯一约束 默认约束 外键约束

关键字 not null primary key unique default foreign key

18.表结构操作

1)添加列:alter table reader add email varchar(30);

2)在已经存在的表添加新的列,指定位置

alter table 表明 add 新列名 数据类型 [约束条件] [first/after 列名];

3)修改列名

alter table 表名 change 旧列名 新列名 数据类型

4)修改列数据类型

alter table 表名 modify 列名 数据类型

5)修改列排列位置

alter table 表名 modify 列名1 数据类型 first|after 类名2

6)删除列

alter table 表名 drop 列名

19.表记录操作-更改结构

1)增加字段:alter table 表名 add 字段名 字段约束条件

2)删除字段:alter table 表名 drop 字段名

3)修改字段:alter table 表名 change 字段名 新字段名 字段约束条件

4)修改字段约束条件:alter table 表名 modify 字段名 字段约束条件

(1)插入数据:insert into 表名(列1....列N)values(值1.....值N);

举例:insert into student (id user) values(2,'chenzhen') ;

(2)直接插入数据:insert into 表名 values(值1.....值N);

举例:insert into student values(1 ,'张三');

注意事项:字符和日期型数字应包含在单引号中

删除数据:

删除所有数据:delete

举例:delete from student;

删除表中定义的数据:delete from 表名[whrer 条件]

举例:delete from student where id=1;

注意事项:如果不适用where语句,将删除表中所有数据;

delete语句不能删除某一列的值(可用update)

使用delete语句仅删除记录,不能删除表本身,如果要删除,用drop table

更改数据:update

update 表名 set 字段名=字段内容[where 条件];

举例:update student set age=35;

查询数据:select

select 列名 from 表名

举例:select * from student

select distinct id from student;

注意:distinct用于显示唯一的不同值

20.算数运算符:

不等于:<> (!=)

判断一个是否为空(或不为空):is(not )null

判断一个值是否在两个值直接:between ...and

判断一个值是(不是)in列表中的值:(not) in

通配符匹配:like

案例:

1:余额大于200的读者信息

select * from readerinfo where balance>200;

2:查看读者信息中,余额不等于200

select * from resderinfo where balance<> 200;

3:年龄不为空

select * from readerinfo where age is not null;

4:余额在350到450之 间

select * from resderinfo where balance between 350 and 450

5;获取张飞,李月这几个读者信息

select * from readerinfo where name in('张飞’,‘李月’);

6:名字是两个字,姓张

select * from readerinfo where name like '张_';

7:查询手机号以135开头

select * from readerinfo where like '135%';

21.子查询

在SQL语言中,一个select from where语句称为一个查询块,将一个查询块嵌套在另一个查询块的where子句或者having短语的条件中的查询叫做子查询,又叫嵌套查询

1)带有in谓词的子查询

举例:查询与zhangsan一个系所有的名字

select name from student where dept in(select dept from dept swhere name='zhangsan';

2)带有比较运算符的子查询

举例:查询与zhangsan一个系所有的名字

select name from student where dept =(select dept from dept swhere name='zhangsan';

3)带有any或者all谓词的子查询

查询一班学生年龄大于二班所有人

select name from class1 where age>all(select age from class2)

22.模糊查询

like模糊查询

like操作符用于在where字句中搜素列中的指定模式

通配符

% 代表零个或者多个字符(任意字符)

_ 代表一个字符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值