找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

mysql数据库创建、删除,表结构操作增删改字段,数据插入

[复制链接]
一:安装数据库
yum install ==> 在线下载并安排
yum install mysql  ==> 下载客户端
yum install mysql-server  ==> 下载服务端
rpm -qa|grep -i mysql  ==> 查看是否安装了数据库

二:mysql 服务启动和关闭
service mysqld start  ==》启动数据库,以后每次进入数据库都需要启动数据库
service mysqld stop  ==》关闭数据库
service mysqld status  ==》查询数据库状态  (pid 后面数字代表进程号)
service mysqld restart  ==》重启数据库
备注:mysqld后面的d代表是一个守护进行daemon
netstat -ntlp  ==》 查看进程

三:登录mysql数据库  ==〉 第一次登录是不需要密码
mysql -uroot -p  ==>  第一次登录(不需要密码,两次回车;u:user, root:用户, p:password)
Enter password  ==> 第一次装数据库,不需要密码(直接回车)
默认mysql中有个用户是root
show databases;  ==> 查看数据库中所有数据库;里面有3个系统库:information_schema\mysql\test
exit ==> 退出数据库(或者ctrl + c)
mysqladmin -uroot password "123456"   ==>  设置数据库密码
mysql -uroot -p123456  ==> 修改完密码后登录mysql数据库(或者mysql -uroot -p =》再回车输入密码)
create database dcs1;  ==>  创建数据库dcs1
drop database dcs1;  ==>  删除数据库dcs1
use dcs1; ==> 进入dcs1数据库(切换也使用此指令)
select database();  ==> 查看(查找)当前在哪个数据库里;


数据库密码:
(1)跳过权限不输入密码进入mysql
exit  ==》 退出
vim /etc/my.cnf  ==> 编辑配置文件
i   ==》进入编辑模式
skip-grant-tables  ==〉 在socket=/var下面输入此行代码
esc
:wq ==> 保存退出
service mysqld restart  ==> 重启数据库
mysql -uroot -p ==> 再次登录数据库不需要输入密码


create table test(id int(20)primary key auto_increment,score float(20,2)not null,name varchar(20),phone bigint(20) default 18611112222,time date);

show tables;  ==> 查看所有表格
desc test;  ==>  查看表结构

Field   ==> 字段
type  ==>  数据类型
null  ==>  是否可以为空
key   ==>  primary key 主键
default  ==>  默认值约束
Extra   ==>  额外的备注,auto_increment 自增长约束

数据库中常用的数据类型
数值型:
int ==> 最大存储值2147483647(最大存储值为10位)
bigint  ==>  手机号码都只能用bigint来存储(长整型)
(前两个都是整数型,无小数点)
float  ==> score|float (20,2) 2是精度,代表是几位数(符点型)

文本型:[varchar和char 存的数据需要加单引号或者双引号]
varchar ==> 存字符串,字符位数多一些
char  ==> 存字符,单个字符

日期型:[date存的数据需要加单引号或者双引号]
date ==》 "2021-11-30"

数据库中常用的约束有哪些?
not null  ==> 非空约束
primary key  ==>  主键约束,里面的值必须是唯一的
default  ==> 默认值约束,若不输入值,字段永远是18611112222
auto_increment  ==>  自增长约束
foreign key ==> 外键约束

【对表结构的操作】
show tables;  ==> 查看所有表格
desc test;  ==>  查看表结构
alter table test rename test1;  ==>  修改表格名称
alter table test change id sid int(20);  ==> 修改表内属性id名称为sid 并去除自增长约束auto_increment
alter table test change sid id int(20) auto_increment;  ==> 修改表内属性sid名称为id 并增加自增长约束auto_increment
alter table test add class int(20) first; ==》 添加一个班级的字段,并在id上面(第一个位置)
alter table test add sex int(20) after id;  ==> 添加性别字段,在id后面
alter table test add(age1 int(20),age2 int(20));  ==> 一次性添加两个字段(只能添加在最后面位置,不能添加在最前面)
alter table test modify class int(20) after id;  ==> 调整class 字段放在 id 后面
alter table test drop sex;  ==> 删除字段性别
alter table test drop age1,drop age2;  ==》 删除多个字段
alter table test change id id int(20); ==> 删除id自增长约束,且不改变名称
alter table test change id id int(20) auto_increment;  ==> 不改变字段名称,添加自增长约束
alter table test drop primary key;  ==> 删除主键(删除自增长,才可以删除主键约束,否则报错,删除不了主键)
备注:自增长约束是结合主键使用的,所以删除主键前要先删除自增长;

单个数据插入:
insert into test(id,score,name,phone,time)values(1,89.99,'xiaozhang',18811112222,'2021-11-30');  ==> 插入一条数据(第一种方法)
insert into test values(2,88.88,'xiaoli',18899990000,'2021-11-30');  ==> 插入一条数据(第二种方法)
select * from test; ==> 查询所有数据
多个数据插入:
insert into test(id,score,name,phone,time)values(3,78.666,'xiaoren',18866664444,'2021-11-30'),(4,68.98,'xiaowan',18822226666,'2021-11-30');  ==> 插入两条数据(因为限制两位小数点,所以78.666会字段四舍五入为78.67)
insert into test values(5,78.66,'xiaohua',18866664444,'2021-11-30'),(6,68.98,'xiaowan',18822226666,'2021-11-30'),(7,68.98,'xiaowan',18822226666,'2021-11-30');   ==> 插入三条数据

指定字段插入数据
insert into test(id)values(8);  ==> 只插入字段id
备注:0 !== null
insert into test(score)values(90.99);  ==> 只插入字段score,此条数据id会根据之前设置的自增长约束而+1
(delete form test where id=0;  ==> 删除id为0的那条数据)
alter table test change phone phone int(20) not null;  ==>  把phone数据类型修改为int,并且加上not null约束,所有的手机号都改为:2147483647;
insert into test(phone)values(2147483648);  ==> 还是显示2147483647,因为int类型最大值为2147483647






分享至 : QQ空间
收藏

0 个回复

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