葵花宝典 二十 再次回顾数据库

数据库介绍
什么是数据库
数据库就是一个文件系统,但是访问的时候需要使用标准sql语句来访问数据

关系型数据库
存储的都是实体与实体之间的关系
mysql -u root -p 小黑框登陆
省略了 端口号和主机IP
主机 -h -P端口号

总结: 一个数据库的服务器有多个数据库,一个数据库中有多个表,每个表有多个字段,字段和java类的属性是对应的,每一条记录对应的是java 的实例对象

表中一行就是一个对象
sql语言 结构化查询语言
非工程性的语言
过程性语言:我下一条语句,需要依赖上一条或者上几条语句
非过程性的语言:写一条语句,就会执行一个结果
为了加强sql 的语言能力
如oracle 的PL、sql过程性处理能力
sqlserver
sql是用来存取关系数据库的语言,具有查询.操纵.定义和控制关系型数据库的四个方面的功能

sql 的分类
DDL 数据定义语言
DML 数据操纵语言 insert update delete
DCL 数据控制语言
DQL数据查询语言 select

数据库的操作
create database 数据库名字; 中括号是可选的 创建了一个数据库 默认编码 校验规则默认 和编码成对出现的 找手册
create database 数据库名称 character set 编码 collate 校对规则;
create database mysql1;
show databases; 查看数据库
查看数据库定义
show create database 数据库名称;
删除数据库
drop database 数据库名称 ; 表和库都是 drop
修改数据库
alter database 数据库名称 character set 编码 collate 校对规则;

其他的操作
切换数据库 use 数据库名字;
查看当前使用的数据库 select database();

数据库的增删改查
表的增删改查
create table 表名(
字段 类型 (长度) 约束,
字段二

);
注意的地方
表名后面有小括号 后面要有分号
每一行字段 后面要有 逗号,最后一个没有逗号
数据的数据类型有长度,如果是字符串类型,长度必须加,如果是其他类型可以不加
数据的类型
字符串类型
Varchar char
区别“
varchar经常使用的 长度可变的 有长度,如果超出就会报错
char 长度不可变 如果不够 用空格补全的
char 效率高

大数据 一般不用 BLOB 二进制TEXT 字符

数值类型
long bigint int int float double
逻辑类型
bit 0或者1
日期类型
DATE TIME DATETIME TIMESTAMP
date: 只包含日期
time:只包含时分秒
datetime 和timestamp 包含日期 和时分秒 区别
datetime 需要手动录入时间
timestamp 不传入时间,会默认用系统时间

查看所有的表 show tables;
查看表信息:desc 表名;
查看建表语句和字符集 show create table 表名;
删除表 drop table 表名;
修改表 alter table
增加列 语法: alter table 表名 add 列名 类型(长度) 约束;
修改现有列类型 长度 和约束 语法: alter table 表名 modify列名 类型(长度) 约束;
修改现有列名称: 语法:alter table 表名 change 旧列明 新列名 类型(长度) 约束;
删除现有列 语法:alter table 表名 drop 列名;
修改表名: 语法 rename table 表名 to 新表名;
修改表的字符集 alter table 表名 character set utf-8;
创建表的时候,可以使用一些约束
主键 标示标记 pramary key 声明主键 默认唯一 非空 auto_incremet 自增长 一般的是int类型
唯一 值是唯一的,可以空 unique声明
非空 值不能为空 not null
单表操作

数据的增删改查 最重要的
insert into 表名 (字段1,字段2,字段3) values(值1,值2,值3);一一对应
insert into 表名 values(值1,值2,值3); 默认插入所有列

注意的地方:插入的数据应与字段的数据类型相同
数据的大小在规定范围内
在values中列出的数据位置必须与被加入的列的排列位置相同
字符和日期型 数据应该包含在单引号中
插入空值;不指定 或者 insert into table values(null);

修改数据库中文乱码
在数据库客户端文件中找到my.ini 修改
重新启动服务

update 修改表中数据
语法:update 表名 set 字段=值,字段=值….[where];
没有where 默认更新所有的
如果有where 选择某一条记录

删除数据
delete from 表名 【where】;删除所有数据
delete 不能删除某一列的值
truncate 表名;删除所有数据
区别:
truncate 先删除整个表,然后创建一个新的空的表 效率高 不支持事物
delete:一条一条删除的 支持事物 insert update delete
事物 回滚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值