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

服务器

浏览数:265

2019-3-20

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编程》(姜承尧)