数据库笔记01 MySQL简介与SQL语句(上)
文章目录
一.服务器,数据库简介:
服务器:
- 概念:能够提供某项服务的计算机,服务器是硬件和软件的结合
- 数据库服务器:装有数据库软件的计算机,能够提供对数据的增删改查服务
- web服务器:装有web服务软件(tomcat,nginx,node.js)的计算机,能够提供上网服务(浏览网络资源)
数据库:
- 数据库:数据仓库,一款软件能够对数据进行增删改查的软件
- 关系型数据库:数据的存储是由行列组成的一种二维表,类似于EXCEL,而且表和表之间有对应的关联关系
- 非关系型数据库:类似于JSON这种数据方式来存储 例如:redis{ s1:{},s2:{} }
常见的数据库产品:
Oracle:oracle公司 大型的关系型数据库 收费的
DB2:IBM公司 大型的关系型数据库 收费的
Mysql:mysql公司 中小型关系型数据库 免费的。后来被oracle收购,mysql6之后收费(社区版,旗舰版)
Sql Server:微软公司 中小型关系型数据库 收费的
Sqllite:安卓系统内置数据库 微型关系型数据库 免费的
NoSql系列数据库:not only sql
二.对于数据库安装后的访问和卸载:
安装后的访问:
在win+R中输入cmd,打开后输入mysql -u root -p
,并于下一行输入你mysql的密码:
同时在计算机中右键->管理->服务里面就可以找到了
安装之后的卸载:
MySQL是卸载要卸干净,一定要注意
卸载步骤:先去电脑中管理服务:停止服务->控制面板中卸载->残留数据在安装目录中有数据路径:约77行->找到对应data删除
直接将下面的目录删除掉对应数据也可,注意programdata目录默认是隐藏的,需要在设置中显示隐藏文件才能找到对应目录
或者拿命令停:net stop mysql 以管理员运行,cmd中services.msc可以打开对应的管理面板
三.数据库操作语言SQL:
SQL:SQL(Structured Query Language)指结构化查询语言,SQL使我们有能力访问数据库,SQL是一种ANSI的标准计算机语言,针对关系型数据库:它们操作语言都要遵循SQL规范,但是允许各家数据库有差异,即:普通话和方言的关系,SQL总共可以分为DDL,DML,DCL,DQL几种等等,大部分需要掌握的是DQL(数据查询语言),主要用于查询数据
1.数据库操作语言分类:
- 1)DML(data manipulation language):
它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 。 - 2)DDL(data definition language):
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 。 - 3)DCL(Data Control Language):
是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL。
2.DDL:
建库语言:
创建数据库:create database mydb;
删除数据库:drop database mydb;
查询所有数据库: show databases; //分号不要少,表示sql语句的结束
查看建库语句:show create database mydb; //可以看到数据库的编码
修改数据库:alter database mydb character set 'gbk';
库中建表语言:
1)先选择库:use mydb;
//切换至当前库
2)建表:create table student(id int,name varchar(10),sex char(6),sal double(5,2),birthday timestamp);
//student是表名字,double中5是共5位,2是小数点后两位,timestamp是时间戳,注意字段名一定不要有关键字
3)查看库中所有的表:show tables;
4)查看表结构:desc student;
5)表中字段的修改(增删改查):对于表头信息的操作:
增加一个表头字段:alter table student add(age int);
//字段名+数据类型
删除一个表头字段:alter table student drop sex;
//将表头字段中的sex删掉
修改表头字段名称:alter table student change name username varchar(20);
//将name改为后面的以及新的数据类型
修改表头字段的数据类型:alter table student modify sal int;
//将sal字段由上面的double改为int类型
//上面的modify同样可以使用change进行修改,只需要保持名称一样;并且SQL中大小写不做区分
6)修改表名:alter table student rename to stu;
//将表名由student改为stu
7)删除这张表:drop table student;
//删除student这张表
3.DML:
1)表中插入一行数据:
insert into student(id,name,sex,sal) values(1,'zhangsan','man',999.90);
//字符串用单引号引起来,插入指定日期的信息按格式'YYYY-MM-DD hh:mm:ss'
2)在个别表头字段中插入信息:
insert into student(id,sal) values(4,234.5);
3)给所有表头字段插入对应的值,顺序与表头一致,就可以不指明表头字段:
insert into student values(1,'lisi','man',2.0)
4)全部删除:
delete from student;
5)条件删除:
delete from student where id=1;
//删除id为1的那一行信息
删除id为2或3的:delete from student where id=2 or id=3; //or,and可以用| &表示,or用于并列多个同类属性,and是多个属性
6)全部修改:
update student set name='newValue';
//表中全部信息中名字均为newValue,多属性间用逗号隔开
7)条件修改:
update student set name='zhang' where id=2;
//将第二条信息中的名字更新为zhang