广州37期蓝沅幸 发表于 2021-12-15 21:19:30

mysql

数据库--------
常见的数据库:
MySQL、Oracle、sql server(如果公司是使用Linux系统就不会选择SQL server数据库)
Redis==缓存数据库(非关系型数据库)
mysql服务的启动。关闭。重、查询状态的操作
service mysqld start====启动mysql服务
service mysqld stop == 关闭mysql服务
service mysqld status ==查看mysql运行状态
service mysqld restart==重启mysql的服务
登陆mysql:第一次登陆(未设置密码):不需要输入密码
登陆指令:mysql -Uroot -p

退出mysql有三种方式:quit、exit、Ctrl+c
设置MySQL的登陆密码:mysqladmin -uroot password '123456'
设置密码后的登陆:输入密码
两种方式:
密文方式:mysql -uroot -p 加回车键输入密码,再回车
明文方式:mysql -uroot -p123456
-u表示mysql的用户, -p表示密码
如果忘记密码,则可以在/etc/my.cnf文件中的第2行添加代码,必须要正确添加以下代码,然后重启mysql服务,可以跳过验证直接进入mysql
skip-grant-tables

------sql语句-------要进入mysql页面操作的指令
每一条sql语句都是以 ‘ ; ’结束3,在 ‘ ; ’之前的字母都可以被mysql理解为同一条sql语句中的内容

use+库名==进入某个库,才可以对库中的表进行操作c
show tables==查看当前库中所有的表

create database +新库名;===创建 数据库

select database();====查询 当前所使用的库

create table 表名(字段名1/列名 字段格式,字段名2 字段格式);   ===建表语句
create table test      ==创建表 命名为test
(       ===包含着表的基本信息,字段名(列名),字段属性
id int(10) primary key auto_increment,      ===字段 属性为int(10),是primary key,而且是auto_increment
name varchar(20)not null,      ====name字段 属性varchar(20),是not null约束,非空约束
score float (20,2),   ====score字段,属性为float (20,2)
phone bigint(20)default 15688889999   ====phone 字段属性为bingint(20)是默认值约束,默认填入15688889999
);
数字内型:
int(10) ===数据宽度为10的整型,整数型,mysql保存数字的数据一个长度,占4个字节
primary key ====主键约束,一个表中只有一个主键,说明这个字段是这个表的主键,整一列的数据是唯一的,不重复,而且不能为空
auto_increment ===自增长约束,要结合着主键使用
not null   ====非空约束 必填信息,不能不填
default ====默认值约束,如果不对该字段插入值,那么就直接插入默认值
varchar(20)===可变长字符串,对应得值时可以为任意的数据(字母、中文、特殊字符、,空格等等),插入数据时要使用引号‘’里面写入数据,后面的20表示字符长度,一个char===定长字符串,也是保存字符串
varchar(可变长字符串)和char(定长字符串)的区别:
char固定占磁盘225个字符,varchar最大占2^16次方个字符
char的查询性能会好些,但是不节约资源
varcar的性能差一点,但是节约资源,可以保存0~65535个字符
float(20,2)浮点型,保存小数,最大占4个字节,(20,2)表示数据宽度可以保存20,
2表示小数点后两位
double浮点型,保存小数,最大占8个字节
bigint(20)大数字,整型,整数型,占8个字节
date===保存日期 固定格式 YYY-MM-DD
一个字节 0000 0000
4个字节 0000 0000 0000 0000 0000 00000000 0000
int型最大保存的数字范围是-2^31~2^31=+2147483647(10位数,超过10位数就使用bigint)

---------------------------------
desc+ 表名===查看表的结构

表结构的操作:
alter+table===修改表
alter table test rename test1 把test表重命名为test1
alter table test change id sid int(10);====把id字段名修改为sid,并去掉自增长约束
----------------------------------------------------
alter table test change id sid int(10);   ====修改表 test表 改变 id字段为sid字段,数据属性为int(10),并去掉自增长约束
----------------------------------------------------
alter table test change sid sid int(10) auto_increment;

------------------------------------------------------
alter table test add time date;
--------------------------------
alter table test add class int(10) first;    add===增加
---------------------------
alter table test add sex varchar (6) after class;
--------------------------------
alter table test drop sex;drop==丢弃(干掉)
------------------
alter table test add(sex varchar(6),age int (4)); 同时增加多个字段
-------------------
alter table test drop sex,drop age;====同时删除多个字段
------------------------
alter table test modify class varchar(10) after name;   ===修改class字段的属性为varchar(10),并放在name字段后面
------------------------------
drop table+表名;===等于丢弃表操作
drop database +库名;===丢弃库,删除库
--------------------------
修改字段
alter table 表名 change 字段 新字段 数据属性(例如int(10)) 并去掉自然增长约束
增加约束
alter table 表名 change 字段 字段 数据属性 anto_increment;增加自增长约束
增加字段
alter table test add time date
在最后增加time字段,类型为date,定长,不需要(长度限制)
alter table test add class int(10) first;
在最前加class字段,数据属性int(10)
alter table test add sex varchar(6) after class;
在class后加数据属性为varchar(6)的sex字段
alter table test drop sex;
删除test里sex字段,后不用加数据属性
alter table test add(sex varchaer(6),age int(4));
在test表里增加多个字段,(多个字段和属性,逗号隔开)
alter table test drop 字段,drop字段;
删除test表里多个字段,逗号隔开drop 字段
删除主键约束:
alter table tast drop primary key;==直接删除会报错
1.首先要删除自增长约束
alter table test change sid sid int(10);
2。然后才可以删除主键约束
alter table tast drop primary key;
添加主键和自增长约束:
alter table test change sid sid int(10) primary key auto_increment;
--------------------
对表中的数据进行操作----增删改查
增: insert into =====测试过程,经常要插入一些测试数据供我们测试去使用
注意:插入数据时,如果字段类型为char、varchar、date型需要加单引号或双引号
插入数据的3种方法:
第一种:insert into 表名(字段1,字段2,字段3...)values(值1,值2,值3...); ====要求,值和字段要一 一对应着
第二种:insert into 表名 values(值1,值2,值3); ====
要求:对表结构中字段的默认顺序,插入的值要一一对应着表结构中的字段的默认顺序,而且需要对表中所有的字段进行插入值

查:select *from 表名;测试过程。我们经常要检查数据库中有没有对应的数据==== select查询*所有字段的值来自于某个表from表名

页: [1]
查看完整版本: mysql