MySQL学习记录:数据类型与操作数据表

MySQL默认的端口号是: 3306
MySQL中的超级用户: root
创建数据库 CREATE DATABSE
修改数据库 ALTER DATABASE
删除数据库 DROP DATABASE

图片描述

图片描述

登录

mysql -uroot -p -P3306 -h127.0.0.1 

退出

mysql> exit
mysql> quit
mysql> \q

修改提示符

\D   完整日期
\d   当前数据库
\h   服务器名称
\u   当前用户
mysql> prompt \u@\h \d>

图片描述

常用命令

显示当前服务器版本

SELECT VERSION();

显示当前日期时间

SELECT NOW();

显示当前用户

SELECT USER();

MySQL语句规范:

  • 关键字与函数名称全部大写

  • 数据库名称、表名称、字段名称全部小写

  • SQL语句必须以分号结尾

mysql用作一个简单的计算器:

图片描述

在一行上输入多条语句,只需要以一个分号间隔开各语句

图片描述

创建数据库

图片描述

图片描述

创建一个数据库 指定编码方式gbk

图片描述

修改数据库

图片描述

删除数据库

以上tl jxdatabase 两个数据库都是测试用,现在我们删除他们

图片描述

创建表

图片描述

查看数据表

图片描述

图片描述
图片描述

查看数据表结构

图片描述

将数据装入表中

向数据表中写入记录(插入记录)

图片描述

记录查找

图片描述

*号在这里表示的并不是记录的过滤,而是字段的过滤

图片描述

空值 非空图片描述

NULL 字段值可以为空
NOT NULL 字段值禁止为空

图片描述

AUOTO_INCREMENT

  • 自动编号,必须和主键组合使用

  • 默认情况下起始值为1,每次增量值为1

可以用来保证记录的唯一性
图片描述
这里提示错误是因为自动编号的字段必须定义为主键(key)才可以

PRIMARY KEY(主键)

  • 主键约束

  • 每张数据表只能存在一个主键

  • 主键保证记录的唯一性

  • 主键爱自动为NOT NULL

图片描述

图片描述

我们发现自动编号的id 确实是按照1、2、3、4 自动增长的,这样可以保证记录的唯一性

auto_increment字段 必须定义为主键,但主键不一定与auto_increment 一起使用
图片描述
新建一个表 我们看到Extra中并没有auto_increment 这是时候我们看看主键的字段是否允许赋值 答案肯定的(不允许存在两个相同的值)

图片描述

主键的字段是允许赋值的

图片描述
id 这个主键的值都是22 肯定是不行的

UNIQUE KEY

  • 唯一约束

  • 唯一约束可以保证记录的唯一性

  • 唯一约束的字段可以为空值(NULL)

  • 每张数据表可以存在多个唯一约束

我们来创建一个既有主键约束 又有唯一约束的数据表

图片描述
图片描述

DEFAULT

  • 默认值

  • 当插入记录时, 如果没有明确的为字段赋值,则自动赋予默认值。

图片描述

我们在没有明确赋值username 为Tom 的性别情况下,系统默认赋值非他sex 3。
因为我们是这样default表的

参考

与MySQL的零距离接触
MySQL学习手册
[《MySQL技术内幕:SQL编程》(姜承尧)]()

阅读 962

推荐阅读
镜心的小树屋
用户专栏

方寸湛然GitHub组织地址:[链接]

47 人关注
123 篇文章
专栏主页