SQL回顾

来源:互联网 发布:砸金蛋源码 编辑:程序博客网 时间:2024/06/07 10:54
一、数据库:存储数据的仓库
好处:1、效率高 2、容差率低 3、稳定性 4、备份和恢复


二、数据库涉及的概念:
数据库:DataBase,db文件,存储在磁盘上,按照一定的规则进行数据的处理,可以让用户共享
数据管理系统:DataBase Management System,DBMS就是操作数据库的软件


市场主流数据流:SQL Server、Oracle、MySQL、DB2等,移动端数据库:SQLITE


三、数据库的安装与卸载
MySQL的安装:
按照图解,无脑下一步
MYSQL的卸载:
1、打开服务,停止mysql的服务
2、打开控制面板->程序->mysql卸载
3、在C盘和安装盘下,搜索mysql,将搜索到的删除
4、打开注册表,搜索mysql,将找到的全部删除


四、打开数据的方式
打开:
1、开始-所有程序-mysql
直接输入密码
2、在系统变量path上添加mysql的安装目录(C:\Program Files\MySQL\MySQL Server 5.5\bin)
先打开cmd
再输入:mysql [-h主机地址] -u 用户名 -p 
会提示输入密码:


五、MySQL数据库的组成
5.1数据库服务器
就是数据库安装所在的机器,可以供别人访问
5.2数据库
一般来说一个应用程序对应一个数据库
切记:进入数据库软件之后,要选择数据库或创建数据库
5.3表---对应的是类
一个数据库会对应多个表,表是存储数据
表的组成:
1、表名
同一个数据库的表名不能重复
2、字段:域、属性、表头、列名
规定该列表示的意思
同一表中列名不可重复
3、数据
表中记录的一条条数据


my.ini:MySQL的配置信息
六、SQL
SQL:Structure Query Language:结构化查询语言
专门用在操作关系型数据库的语言
任何关系型数据库都支持SQL,但是每门数据库都有细微的差别


SQL语句分类:(面试出题)
DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;


DML(**)(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);增删改


DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;


DQL(*****)(Data Query Language):数据查询语言,用来查询记录(数据)。查询(select)
 注意:SQL语句必须以;结尾


七、SQL语句
sql语句不区分大小写7.1DDL数据定义语句
包含的关键字:
7.1 CREATE:新建
可以新建数据库、表
7.1.1创建数据库格式:
CREATE database [ if NOT EXISTS] 名称 [CHARACTER SET 编码格式] [COLLATE 比较方式];


创建一个编码格式为utf8的数据库
create database db_study01 ;//默认编码格式
create database db_study02 character set utf8 collate utf8_general_ci;//创建数据库编码格式utf8比较方式对应的


7.1.2创建表的格式:
CREATE table [ if NOT EXISTS] 名称 (字段名称 数据类型,……) [CHARACTER SET 编码格式] [COLLATE 比较方式];


创建一张user表
create table user (id int,name varchar(20),age int);




7.2ALTER:修改
可以修改数据库的编码和表的字段
7.2.1修改数据库格式:ALTER database 名称 [character set 编码][cllate 比较格式];


修改数据库mydb2的编码格式为gbk
alter database mydb2 character set gbk; 
7.2.2修改数据库表的格式:
ALTER table 名称 [ADD|CHANGE|DROP|MODIFY] 字段名称 [新名称] [数据类型]


为user表新增一个字段password 字符串32
alter table user add password varchar(32);
alter table user add test varchar(32);
为user表中的name字段重命名为username
alter table user change name username varchar(20);
删除user表中的test字段
alter table user drop test;
修改user表中username字段的长度为30
alter table user modify username varchar(30);




修改user的表名为user1
rename table user to user1;


7.3DROP删除
可以删除数据库或表
7.3.1删除数据库格式:
DROP database [ if EXISTS] 名称;
7.3.2删除数据表格式:
DROP table 名称;


删除数据库mydb4
drop database if exists mydb4;
删除test3表
drop table if exists test3;




DML语句:主要是对表中的数据进行新增、修改、删除操作
7.4INSERT新增语句
格式:INSERT INTO 表名[(字段名称)] values(值1,值2);


为user表新增数据
insert into user (id,username,password) values(2,'贾金山','8888');
insert into user (id,username,password,flag) values(5,'战旗','838',1);
insert into user (id,username,password,flag) values(6,'战旗','838',1);
insert into user (id,username,password,flag) values(7,'战旗','838',1);
insert into user (id,username,password,flag) values(8,'战旗','838',1);
//简写形式
insert into user values(4,'曹怡',"123456");
insert into user(username,id,password) values('王星',5,"123");
7.5UPDATE修改语句
格式:UPDATE 表名 SET 字段名称=值[多个字段] [where 条件]


修改id为2的用户名字为金星
update user set username='金星' where id=2;
修改id为3的用户的名字和密码
update user set username='网警',password="654321" where id=3;
修改user中所有的密码为123456
update user set password='123456';




7.6DELETE删除语句
删除表中的数据
格式:DELETE FROM 表名 [where 条件];


删除user中名称为王星的人
delete from user where username='王星';


开发中的删除:
1、真删除
直接使用delete语句删除指定的数据
2、假删除
使用update 修该指定字段


为user表新增一字段,flag标记是否有效,0有效1删除
alter table user add flag int;
update user set flag=0;
select * from user where flag=0;
update user set flag=1 where id=4;


DQL语句:数据查询语句,关键字:select
7.7SELECT查询语句
主要用来查询数据
格式:SELECT *|字段名称|函数 from 表名 [where 条件] [order by 字段名称] [group by 字段名称][having 条件][limit 限制]


7.7.1*
*在查询语句中表示当前表的所有字段(顺序为建表时字段顺序)
7.7.2where条件:
常用的条件符合:
1、=、<、>、!=、<>、<=、>=
2、and:并且,同时满足
3、or:或者,满足其一
4、in (值,……):对应的字段的值再()里,一般不连续的多个值
5、between A and B:在A和B之间,[A,B]
6、IS NULL:为空
7、NOT:不
8、子查询


查询user表中所有信息
select * from user;
等价于
select id,username,password,flag from user;
查询有效的名字
select username from user where flag=0;
查询id大于1小于6的人
select * from user where id<6 and id>1;
等价
select * from user where id between 2 and 5;
查询id为4或者id为8
select * from user where id=4 or id=8;
查询id不为6的人
select * from user where id!=6;
等价
select * from user where id<>6;
查询id为2或5或6的人
select * from user where id=2 or id=5 or id=6;
等价
select * from user where id in (2,5,6);


八、数据库的备份和恢复
8.1数据的备份
在cmd中,输入:mysqldump -u 用户名 -p 要备份的数据库 >路径/文件名称.sql
8.2数据的恢复
需要进入到Mysql
创建数据库
并使用数据库
source 要恢复的sql文件的路径;




查看当前的所有数据库:
show databases;
查看指定数据库的创建语句
show create database 数据库名称;
查看数据库的编码格式
show variables like 'character%';
查看mySQL的支持的编码show character set;
查看对应编码的比较集


show collation;
查看数据库的所有表名
show tables;
查看数据库中建表语句
show create table 表名;
MySQL数据类型:
INT 数字类型(4个字节)
SMALLINT 数字(2个字节)
BIGINT 数字(4个字节)
DATE 日期
TIME 时间
DATETIME 日期时间
VARCHAR(长度) 字符串
TEXT 文本
BLOB 二进制
FLOAT 浮点型
DOUBLE 双精度




数据库基本操作:
1、创建数据库(create)
2、选择数据(use)
3、创建表(create)
4、操作表数据(insert\delete\update\select)
0 0
原创粉丝点击