找回密码
 立即注册

DCS65_陈亭

新手上路

  • 5

    积分

  • 1

    帖子

  • 0

    精华

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
关系型数据库:
Oracle--收费,大型公司,全称是‘甲骨文’公司,oracle 是他的一个产品
mysql --开源,免费,也是oracle公司的
sql server --微软
*(存储的格式跟我们excel表格很像,存储数据非常友好)

非关系型数据库:
hbase--大数据
Redis--key,values , 键对值,缓存型数据库
mangodb--一个键,一个值

Linux系统中安装mysql数据库:
yum install mysql--客户端
yum install mysql-server--服务端
*(入职后在公司一般只用安装服务端的)

service mysqld start--启动数据库
*(每次使用数据库前都要先启动)
mysql后面的d代表的是一个守护进程,daemon
service mysqld stop--关闭数据库
service mysqld restart--重启数据库
rpm -qa|grep -i mysql--查询是否安装了mysql数据库
service mysqld status--查询数据库的状态
mysqld (pid  5761) is running... --数据库的进程号
netstat -ntlp--查看所有进程

登录mysql数据库:
mysql -uroot -p--进入数据库的第一种方法
Enter password:  第一次装数据库,进入不需要密码
-u 代表用户user的意思,root是用户
-p 代表是密码, password的意思
*(默认 mysql 有个用户是root)

show databases;    查询mysql数据中的所有库
mysql> exit    退出数据库 (等于Ctrl + c )
mysqladmin -uroot password "123456"    设置修改数据库密码
mysql -uroot -p123456    进入mysql数据库的第二种方法
create database dcs65;    创建dcs65库
create database if not exists dcs65;    创建数据库全语法,不管数据库是否存在都不会报错
drop database dcs65;    删除dcs65库
drop database if exists dcs65;    删除dcs65,不管是否存在都不会报错
use dcs65;    切换或进入dcs65库里面
select database();    查看当前当前已经进入到哪个数据库里面了


create table test(id int(20) primary key auto_increment,score float(20,2)not null,name varchar(20),phone bigint(20) default 15377778888,time date);   创建表格语句


desc test;   查看表结构

表结构:
Field    字段
Type    数据类型
Null    是否可以为空
key      primary key 主键
Default   默认值约束
Extra    额外的备注,auto_increment 自增长约束

数据库中常用的数据类型:
int    最大的存储值为 2147483647 (最大的存储是10位)
bigint    长整型,手机号码只能用bigint 来存储
float    浮点型,score(20,2)
*(2代表是精度,保留小数点后两位)

文本型:varchar 和char存的数据需要加单引号或者双引号
varchar    字符串
char    字符,单个的字符

日期型:data存的数据需要加单引号或者双引号
data    ‘2021-08-07’

数据库中常见的约束:
not null    非空约束
primary key    主键约束,里面的值是唯一的,不能重复
default    默认值约束,若不输入值,字段永远都是 15377778888
auto_increment    自增长约束,在当前的基础上+1
*(自增长约束都是配合主键约束一起使用的)
foreign key    外键约束

修改表结构:
alter table 表名   用来修改表结构
alter table test rename test1;    把test表的名字改为test1
alter table test1 change id sid int(20);    把id字段改为sid且去掉自增长
alter table test1 change sid id int(20)auto_increment;    把sid字段名改为id且增加自增长
alter table test1 add class int(20) first;    添加一个class字段放在最前面
show tables;    查询当前库中所有表格
alter table test1 add sex int(20) after id;    添加sex字段在id字段的后面
alter table test1 add(age1 int(20),age2 int(20));    添加age1,age2到test1表格中,一次性添加两个字段
alter table test1 modify class int(20) after id;    把class字段放到id 字段的后面
alter table test1 drop sex;    删除sex字段
alter table test1 drop age1,drop age2;    删除age1,age2字段
alter table test1 change id id int(20);     不改变id字段名,去除自增长约束
alter table test1 drop primary key;    删除主键约束
(先删除自增长约束,然后再删除主键约束;如若先删除主键约束,则会报错)
alter table test1 change id id int(20) primary key auto_increment;    不改变字段名的情况下,添加主键约束和自增长约束
drop table test1;    删除表格
*面试中如若问到删除,则回答会,但是工作中一般很少用,查询用的多些


create table test(id int(20)primary key auto_increment,score float(20,2),name varchar(20),phone bigint(20) default 15377778888,time date);    创表语句


对于表中数据的操作:
* 此系列操作都是以 insert into +表名  开头
插入单个数据的第一种方法:
insert into test(id,score,name,phone,time)values(1,99,'xiaoliu',13566668888,'2021-08-07');    有5个字段,有5个值
insert into test values(2,88,'xiaoxiao',13788889999,'2021-08-08');     插入单个数据的第二种方法
select * from test;    查询表中所有内容
insert into test(id,score,name,phone,time)values(3,78.123,'xiaoxiao',13677770000,'2021-08-08'),(4,66,'xiao1',13578988879,'2021-08-09');    往test表格中插入两条数据(插入多个数据的第一种方法)
insert into test values(5,67,'xiao2',13899990000,'2021-03-09'),(6,68,'xiao5',15688880000,'2021-09-09'),(7,88,'xiao6',13788999999,'2021-09-08');   往test表格中插入3条数据(插入多个数据的第二种方法)

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册