文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql基础(一)

2014-12-15 08:19

关注

Mysql基础(一)

准备工作

开启服务器

··windows系统:

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

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

net start MySQL57

··Mac系统:

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

source .bash_profile

连接服务器: 

mysql -uroot -p密码

修改登录密码:

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

离开服务器

exit;

数据库的基础操作

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

查看所有数据库:

show databases;

新建数据库:

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

create database 库名;
create database 库名 charset utf8mb4 collate utf8mb4_general_ci;

 3.查看数据库语句:

show create database 库名;

进入数据库:

use 库名;

删库(要谨慎):

drop database 库名;

表操作

查看所有表

show tables;

建表

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

查看建表语句

show create table 表名;

以表格方式查看表

describe 表名; 或 desc 表名;

删表

drop table 表名;

Mysql数据类型

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

1. 整数类型

int unisgned指明无符号

TINYINT(1个字节)
SMALLINT(2个字节)
MEDIUMINT(3个字节)
INTINTEGER(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 key comment "用户id",..);
create table 表名(... ,primary key(user_id,article_id));

··追加主键:

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

··删除主键:

alter table 表名 drop primary key;

unique key:唯一值允许自动为空,添加跟追加用法与主键一样
5. atuo_increment :自增长,前提自身是一个索引,一张表只能有一个自增长:

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

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

 基于python的工具mycli

pip install mycli

mycli -uroot -p密码

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

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯