mysql 两个整数连接_Mysql基础(一)——连接数据库、基本类型

准备工作

1.开启服务器

··windows系统:

方法1.搜索服务,找到mysql并开启.

方法2.如果安装的是5.7版本,cmd中输入:

net start MySQL57

··Mac系统:

系统偏好设置开启mysql,然后命令行运行以下代码出现base字样即可:

source .bash_profile

2.连接服务器:

mysql -uroot -p密码

3.修改登录密码:

set password for root@localhost =password("新密码");

比如:set password for root@localhost = password("abcd");

4.查看mysql版本信息

status

5.离开服务器

exit;

数据库的基础操作

注意:mysql语句在命令行操作一定要加分号,在navicat软件中可以不加分号,在mycli中也可不加。

1.查看所有数据库:

show databases;

2.新建数据库:

(注意不能重名,由字母 数字 下划线 @ #$组成,首字母不能是下划线和$ ,不能有空格和其他特殊字符。并且最好指明数据库的编码格式,以下为5.7版本通用格式,以免后期维护;

utf8mb4比utf8字符集多了emoji编码支持;

简单的理解 utf8mb4 是目前最大的一个字符编码,支持任意文字;

utf8_unicode_ci比较准确,utf8_general_ci速度比较快。

通常情况下 utf8_general_ci的准确性就够我们用的了,在我看过很多程序源码后,发现它们大多数也用的是utf8_general_ci,所以新建数据 库时一般选用utf8_general_ci就可以了。如果是utf8mb4那么对应的就是utf8mb4_general_ci 、utf8mb4_unicode_ci。

create database 库名;

create database 库名 charset utf8mb4 collate utf8mb4_general_ci;

3.查看数据库语句:

show create database 库名;

4.进入数据库:

use 库名;

5.删库(要谨慎):

drop database 库名;

表操作

1.查看所有表

show tables;

2.建表

create table 表名字(列名 数据类型, ... ) charset=utf8;

3.查看建表语句

show create table 表名;

4.以表格方式查看表

describe 表名; 或 desc 表名;

5.删表

drop table 表名;

Mysql数据类型

mysql提供了整数类型、浮点数类型、日期和时间类型、字符串类型等

1. 整数类型

int unisgned指明无符号

TINYINT(1个字节)

SMALLINT(2个字节)

MEDIUMINT(3个字节)

INT和INTEGER(4个字节)

BIGINT(8个字节)

2. 浮点数

FLOAT(4字节 适合小于10位)

DOUBLE(8字节 适合大于10位)

3. 日期时间类型

DATE (4字节 如表示年月日)

DATETIME (8字节 如表示年月日时分秒)

TIMESTAMP (如果经常插入或者更新日期为当前系统日期,或者全球化系统 ,最小值时间戳为19700101000001)

TIME (3字节 如只需时分秒)

YEAR (1字节)

4. 字符串类型

CHAR(M) :M字节数为最大字节数 0~255之间

VARCHAR(M):字符串长度经常变化用varchar 0~65535之间

3. text系列字符串,不指定长度

TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

比较char , varchar , text:

检索效率:char>varchar>text

char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充).

varchar:存储变长数据,但存储效率没有CHAR高,必须在括号里定义长度,可以有默认值。保存数据的时候,不进行空格自动填充,而且如果数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。

text:存储可变长度的非Unicode数据,最大长度为2^31‐1个字符。text列不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入。

结论:

·经常变化的字段用varchar

·知道固定长度的用char, 如身份证

·能用varchar的地方不用text

·能用数字类型字段的尽量用数字类型而不是字符型,因为字符型每次都逐个比较,数值型只比较一次就够了

列属性

有:NULL / NOT NULL ,default , primary key , unique key , atuo_increment , comment

1. NULL:空属性很重要,空数据没有意义

2. default:默认值

3. primary key:主键,一张表只能有1个主键,不能重复,唯一,可以是复合主键

··添加主键:

create table 表名(id int primary keycomment "用户id",..);create table 表名(... ,primary key(user_id,article_id));

··追加主键:

alter table 表名 add primary key(user_id,article_id);

··删除主键:

alter table 表名 drop primary key;

4. unique key:唯一值允许自动为空,添加跟追加用法与主键一样

5. atuo_increment :自增长,前提自身是一个索引,一张表只能有一个自增长:

create table 表名(id int primary key auto_increment comment "用户id",..);

6. comment:列描述没有实际含义,只是方便了解。

基于python的工具mycli

pip install mycli

mycli-uroot -p密码

后面操作跟mysql是一样,优点在于mycli使用时有提示,相对方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值