【数据库】
关系型数据库:
Oracle 甲骨文 付费 ==》大型企业使用
MySQL ==》开源(不收费,开放源代码),中小型企业、创业型公司
SQL server ==》微软
yum install mysql #mysql客户端
yum install mysql-server #mysql服务端
service mysqld status 查看数据库的状态
service mysqld start 启动MySQL数据库
service mysqld restart 重启MySQL数据库
mysql -uroot -p 使用root用户访问数据库,第一次安装数据库首次访问的时候不需要输入密码。-u表示user用户的意思,-p表示password密码的意思。
mysqladmin -uroot password '123456' 给访问数据库的root用户设置密码。
mysql -uroot -p123456 使用密码的方式去访问
[root@192 /]# mysql -uroot -p 也可以在提示输入密码的地方输入密码
Enter password: #输入密码
mysql> show databases; 查看所有数据库有哪些,命令后面要加 ; 分号
在mysql交互界面输入的命令都要加分号,在Linux操作界面不需要加分号。
退出数据库操作界面
mysql> exit; 退出数据库操作
mysql> quit;
mysql> Ctrl+c 直接退出
mysql> Ctrl+z 也可以直接退出
mysql> create database dcs8; 创建一个名为dcs8的数据库
mysql> drop database dcs8; 删除dcs8这个数据库
mysql> use dcs8; 进入到dcs8数据库
mysql> show tables; 显示当前数据库下面有哪些表
创建一个名为test的表
create table test(id int(20) primary key auto_increment,name varchar(20) not null,score float(20,2),phone bigint(20) default 15366667777,time date);
mysql> desc test; 查看test表的表结构
+-------+-------------+------+-----+-------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+-------------+----------------+
| id | int(20) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| score | float(20,2) | YES | | NULL | |
| phone | bigint(20) | YES | | 15366667777 | |
| time | date | YES | | NULL | |
+-------+-------------+------+-----+-------------+----------------+
数据类型
int 存储整数 范围(-2147483647,2147483647) int(20) 2147483647
bigint 存储整数 范围大于2147483647 11位的手机号码 bigint(5)
float 浮点数 默认保存6位精度的数字 float(20,2)
varchar 存储字符 varchar(10)==>6
char
date 日期的格式 “”
Field ==>字段 id name score phone time
type ==>类型为int 整型 char和varchar存储数据的时候都需要加上单引号或者双引号,一般是中文或者字符串,比如 ‘小周’
float 浮点型,默认保存6位 float(20,2)保留小数点后面的2位
date 日期类型,日期类型在存储数据的时候也需要加引号
常见的约束有哪些?
非空约束 not null==>表示当前这个字段对应的值不能为空
主键约束 primary key==>用来约束主键对应的值不能重复,也不能为空(设置了主键约束的字段默认就不能为空)。
外键约束 foreign key
默认值约束 Default==>当往这个表当中插入数据的时候不给phone字段插入新的值,则默认用15366667777
自增长约束 auto_increment==>当往这个表中插入数据,id字段的值会自动加1
输入的语法有报错,在near后面的引号附近去查看错误。
数据库操作步骤
show databases; 查看数据库
use dcs8; 进入到dcs8数据库
show tables; 查看有哪些表
创建一个表:(create table + 表名(字段+类型+约束,字段2+类型+约束))
create table test(id int(20) primary key auto_increment,name varchar(20) not null,score float(20,2),phone bigint(20) default 15366667777,time date);
desc test; 查看test表的表结构。
alter table test rename test1; 把test表改为test1表
alter table test1 rename test; 把test1表改为test表
alter table test change id sid int(20); 把id字段改为sid,并且去掉自增长
alter table test change sid sid int(20) auto_increment; 给sid字段添加自增长
alter table test modify class int(20) after sid; 将class字段移动到sid字段后面
create table test1(id int(20)); 创建一个test1表
drop table test1; 删除test1这个表
alter table test add class int(20) first; ==》增加一个字段放在最前面
alter table test add class2 int(20) after id; ==》增加一个字段放在id后面
alter table test drop class; ==》删除一个字段
alter tables test drop class,drop class2; ==》同时删除两个字段
插入数据:
insert into 表名(表字段1,表字段2...)values(字段值1,字段值2...)
insert into 表名 values(字段值1,字段值2...) ; ==》表中有多少个字段,values值必须要对应
select * from 表名; ==》查看表数据
alter table test drop primary key; ==》删除主键约束==》先看字段有没有自增长约束,如有需要先删除
alter table test change id sid int(20); ==》改id字段为sid并只设置int类型
alter table test change sid sid int(20) not null; ==》给id字段增加不为空
插入一条数据
insert into test(id,name,score,phone,time)values(1,"xiaowang",88.99,15768987654,"2021-09-19");
插入二条数据
insert into test(id,name,score,phone,time)values(2,"xiaozhu",89,15798987654,"2021-09-18"),(3,"xiaosi",99,16799876789,"2021-09-20");
指定插入数据
insert into test(id)values(8);
insert into test(name)values("zhangsan");
插入数据的注意事项:
vaechar、char、date 类型的数据,要加引号(单引号或双引号)
字段和字段值要一一对应
删除表
delete from 表名 ==》把所有的数据全部删除(表结构不会删除)
delete from 表名 wher 条件 ==》指定行删除某一条数据
truncate +表名 ==》把所有的数据全部删除(表结构不会删除) (不占内存)
drop table +表名 ==》表数据和表字段结构,全部删除
数据库和表结构的操作命令:
create databases 、drop、create table、alter table
数据库中的对表操作的命令:
增 insert into
删 delete from
改 update 表名 set
查 select * from
修改 update +表名 set 字段名=值 where 条件
update test set name = "zhangsan" where id = 1; 修改id为1的name数据为zhangsan
注意事项:
1、操作表一定要先进入到对应的库里面 use xx
2、看表结构 desc xx
3、查看表数据 select * from xx
4、show databases 查看有那些库
5、show tables 查看有哪些表 ==》进入到库里面去
|
|