mysql

发布于 2021-09-02  130 次阅读


推荐下载xampp

使用客户端连接服务器端

首先打开xampp  点击mysql的start 启动mysql  然后
imgpng

mysql.exe -h127.0.0.1 -P3306 -u -p
-h host IP地址/域名   127.0.0.1/localhost
-p port 端口
-u user 用户名 root管理员用户
-p password 密码 xampp下root的密码为空
mysql -uroot 简写形式

结束不能加分号

为创建数据库

CREATE DATABASE 数据库名;

为查看当前服务器上的数据库

SHOW DATABASES;  

进入指定的数据库

USE 数据库名;  

查看数据库里的数据表

SHOW TABLES;  

为创建数据表

CREATE TABLE 数据表名(  
id 列类型,  
name 列类型,  
...  
);  
USE 数据表名; #进入数据表

查看表头

desc 数据表名称;

插入数据

INSERT INTO 数据表名('1','Tom','...');   #例子

删除数据

DELETE FROM 数据表名 WHERE ID='1';

修改数据

UPDATE 数据表名 SET NAME='Jerry'WHERE ID='1';

查找数据

SELECT *FROM 数据表名; #查找该数据表内的所以信息

列类型

数值型 ---可以去掉引号

*tinyint 微整形,占1个字节,范围-32768~32767  
*int 整型,占4个字节,-2147483648~2147483647  
*bigint 大整型,占8个字节  
float 单精度浮点型,占4个字节,范围比int大的多,以牺牲小数点后若干位为代价,数字越大精度越低,最大值3.4e38;  
double 双精度浮点型,占8个字节,范围比bigint大的多,数字越大精度越低  
*decimal(M,D) 定点小数,小数点的位置不会发生变化,M代表总的有效位数,D代表小数点后有效位数  
boolean/bool 布尔型,只有两个值。分别是true和false,代表真和假,通常用于存储只有两个值的数据,例如:性别,是否在线  
true和false是关键字,不能加引号  

日期时间型 --引号不能省略

date 日期型 '2021-11-19'  
time 时间型 '20:41:30'  
datetime 日期时间型 '22021-11-19 20:41:30'  

字符串型 --引号不能省略

Varchar(M)变长字符串,几乎不会产生空间浪费,数据操作速度相对满,M的最大值65535,用于存储变化长度的数据,例如标题,姓名,详情...  
Char(M) 定长字符串 定长字符串,可能会产生空间浪费,数据操作速度相对快,M的最大值255,用于存储固定长度的数据,例如手机号码、身份证号码  
text(M) 大型变长字符串,M的最大值是2G  
TB GB MB KB Byte Bit(位)  

1Byte=8Bit
1234567
11011100101110111

列约束

主键约束 --- primary key

声明了主键约束的列上不允许插入重复的值,一个表中只能有一个主键约束,通常加在编号列,会加快数据的查找速度,按照编号从小到大排列
主键约束的列禁止插入null

null 表示空,是一个暂时无法确定的值,例如:无法确定商品的价格,无法确定一个员工的手机号码,都可以用null表示
null是关键字,不能加引号

非空约束

声明了分空约束的列上禁止插入null

唯一约束 --unique

声明了唯一约束的列不允许出现重复的值,允许插入null,甚至是多个null,可能会影响数据的排序

默认值约束 --default

可以使用default关键字设置默认值,具体应用方式有两种
insert into family values(40,default); #通过default调用当前的默认值
insert into family(fid) values(50); #给指定的列提供默认值,没有出现的列自动调用默认值

外键约束

声明了外检约束的列,插入的值必须得在另一个表的主键列中出现过才行;外键列要和对应的主键列类型要保持一致
foreign key(外键列) references 另一个表(主键列)
外键列约束使用目的是为了让两个表之间产生关联

自增列

auto_increment 自动增长,如果设置了自增列,在插入数据的时候,只需要赋值为null,就会获取当前的最大值然后加1插入
注意事项:
自增列只能添加在整数形式的主键列
允许手动赋值

总结:

毕竟笔者的毕竟偏向前端一点,mysql涉及的内容较少,望见谅