数据库基础知识_1
来源:互联网 发布:淘宝买家秀怎么发微淘 编辑:程序博客网 时间:2024/05/01 03:18
一、数据库介绍
1、数据库(DataBase):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统)
2、数据库管理系统(DataBase Management System):是指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
3、数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。
4、数据库:存储、维护和管理数据的集合。
二、MySQL数据库的安装
三、sql概述
1、为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据
2、所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
3、
- 列:字段
- 行:一条记录(实体)
- 表中的一条记录对应一个java对象的数据
4、SQL:Structure Query Language
- 高度非过程化,即用SQL操作数据库,只需指出 做什么,无需指明 怎么做,存取路径的选择和操作的执行由DBMS自动完成。
- DDL(Data Definition Language)数据定义语言,用来定义数据库对象:库、表、列等
- Create Alter Drop
- DML(Data Manipulation Language)数据操作语言,用来操作数据库表中的记录(数据)
- Insert Update Delete
- DQL(Data Query Language)数据查询语言,用来查询记录(数据)
- Select
- DCL(Data Control Language)数据控制语言,用来定义访问权限和安全级别
四、DDL 操作数据库、表、列
1、操作数据库
- 创建
- create database mydb1;
- create database mydb2 character set gbk;
- create database mydb3 character set gbk COLLATE gbk_chinese_ci;校验集
- 查询
- show databases;
- show create database mydb2;//查看前面创建的mydb2数据库的定义信息
- 修改
- alter database mydb2 character set utf8;//查看服务器中的数据库,并把mydb2的字符集修改为utf8
- 删除
- drop database mydb3;
- 其他
- select database();//查看当前使用的数据库
- use mydb2;//切换数据库
2、操作数据表
- 语法:
- create table 表名( 字段1 字段类型 ,字段2 字段类型);
- 常用数据类型:
- int 整型
- double 浮点型 例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99
- char 固定长度字符串类型 char(10) 'abc'
- varchar 可变长度字符串类型 varchar(10) 'abc'
- text 字符串类型
- blob 字节类型
- date 日期类型 格式为yyyy-MM-dd
- time 时间类型 格式为hh:mm:ss
- timestamp 日期戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
- datetime 日期时间类型 yyyy-MM-dd hh:mm:ss
- 实例
- create table emp{
- id int,
- name varchar(50),
- gender varchar(10),
- birthday date,
- entry-date date,
- job vatchat(100),
- salary double,
- resume varchar(200),
- }
- show tables;//当前数据库中的所有表
- desc emp; //查看表的字段信息
- alter table emp add image blob;//在上面员工表的基本上增加一个image列
- alter table emp modify job varchar(60);//修改job列,使其长度为60
- alter table emp drop image;//删除image列
- rename table emp to user;//表名改为user
- show create table user;//查看表格的创建细节
- alter table user character set gbk;//修改表的字符集为gbk
- alter table user change name username varchar(100);//列名name修改为username
- drop table user;//删除表
五、DML操作
1、insert update delete
- 在mysql中,字符串类型和日期类型都要用单引号括起来。'tom' '2015-09-04'
2、insert
- 语法:insert into 表名(列名1,列名2...) values(列值1,列值2);
- 列名与列表的类型、个数、顺序要一一对应
- 可以把列名当做java中的形参,把列值当做实参
- 值不要超出列定义的长度
- 如果插入空值,请使用null
- 插入的日期和字符一样,都使用引号括起来
- insert into emp(id,name,gender,birthday,salary,entry_data,resume) values(2,'lisi','male','1995-01-01',1000,'2015-07-07','good boy');
3、update
- 语法:update 表名 set 列名1=列值1,列名2=列值2,... where 列名=值
- update emp set salary=3000 where name=‘zhangsan’;
4、delete
- delete from 表名 where 列名= 值
- delete from emp where name = ‘zs’;
- delete from emp;//删除表中所有记录
- truncate table emp;//使用truncate删除表中记录
- delete:删除表中的数据,表结构还在,删除后的数据可以找回
- truncate:删除是把表直接drop掉,然后再创建一个同样的新表,删除的数据不能找回,执行速度比delete快
六、DQL操作
1、数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端,查询返回的结果集是一张虚拟表
2、语法:select 列名 from 表名 where group by having order by
SELECT selection_list /*要查询的列名称*/
FROM table_list /*要查询的表名称*/
WHERE condition /*行条件*/
GROUP BY grouping_columns /*对结果分组*/
HAVING condition /*分组后的行条件*/
ORDER BY sorting_columns /*对结果分组*/
LIMIT offset_start, row_count /*结果限定*/
0 0
- 数据库基础知识_1
- 数据库_1
- JAVA基础知识_1
- Deep learning:一(基础知识_1)
- Deep learning:一(基础知识_1)
- Deep learning:一(基础知识_1)
- Deep learning:一(基础知识_1)
- Deep learning:一 (基础知识_1)
- Deep learning:一(基础知识_1)
- Deep learning:一(基础知识_1)
- Deep learning:一(基础知识_1)
- 数据库设置经验_1
- 数据库_1: MySQL:基础
- ZUCC数据库_1
- Oracle基础知识_整理复习_1
- Deep learning:一(基础知识_1)
- oracle 数据库日常维护_1
- 数据库常用操作集合_1
- 获取二叉树叶子节点个数的递归及非递归算法
- 选拔赛之dp
- QPallete
- Mac: Alias[设置命令的别名]
- Android hander实现异步线程队列化
- 数据库基础知识_1
- memcached的深度解析
- node命令
- App开放接口api安全性—Token签名sign的设计与实现
- BZOJ 2595: [Wc2008]游览计划
- js动态加载JS及CSS,加载成功时回调
- form不能嵌套
- 避免在循环体中创建对象
- opencv数字识别入门的博文整理