Mysql教程02

创建新数据库实例

  • 查看mysql版本
select version()
  • 创建数据库
    可以使用SQLyog指令创建(本质就是sql语言的操作)
    也可以使用sql语言创建
CREATE DATABASE `school`CHARACTER SET utf8 COLLATE utf8_general_ci; 
  • 创建表
    可以使用SQLyog指令创建(本质就是sql语言的操作),引擎选择默认的innodb
    也可以使用sql语言创建
CREATE TABLE `school`.`student` ( `id` INT(10) NOT NULL COMMENT ‘学员id‘, `name` VARCHAR(100) NOT NULL COMMENT ‘学员姓名‘, `age` INT(3) NOT NULL COMMENT ‘学员年龄‘, PRIMARY KEY (`id`) ) CHARSET=utf8 COLLATE=utf8_general_ci; 
  • 查看表
    这个就不赘述了

连接数据库,命令行连接

  • 使用命令行连接
mysql -uroot -p   
  • 修改用户密码
update mysql.user set authentication_string=password(‘123456‘) where user = ‘root‘ and Host = ‘localhost‘;    --修改用户密码
flush privileges;   --刷新权限
  • 所有语句都使用分号结尾
show databases;   --查看所有的数据库
use school;    --切换数据库,use 数据库名
show tables;    --查看数据库中所有的表
describe student;   --显示表中的所有字段
create databases sysdb;    --创建一个数据库
exit;   --推出连接
-- 单行注释(sql注释)
/*  */   -- 多行注释

数据库语言:DDL 定义 DML 操作 DQL 查询 DCL 控制

SQLyog数据库操作

操作数据库> 操作数据库中的表> 操作数据库中表的数据
mysql的关键字不区分大小写

操作数据库

  1. 创建数据库
CREATE DATABASE IF NOT EXISTS SYSDB;
  1. 删除数据库
DROP DATABASE IF EXISTS SYSDB;
  1. 使用数据库
-- 如果表名或者字段名是一个特殊的字符,就需要带着重号
USE `SCHOOL`;
  1. 查看所有的数据库
show databases;

对照sqlyog操作查看对应的sql语句
固定的语法或者关键字需要牢记

数据库的列类型

数值

  • tinynit 十分小的数据 1个字节
  • smallint 较小的数据 2个字节
  • mediumint 中等大小的数据 3个字节
  • int 标准的整数 4个字节 常用的 int后面接的数字只和他的宽度有关,和数值长度无关
  • bigint 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 8个字节
  • decimal 字符串形式的浮点数,金融计算的时候,一般使用decimal

字符串

  • char 字符串固定大小的 0-255
  • varchar 可变字符串 0-65535 掺用的 Srting
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1 保存大文本

时间日期

  • date YYYY-MM-DD,日期
  • time HH:mm:ss 时间格式
  • datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
  • timestamp 时间戳,1970.1.1到现在的毫秒数,比较常用
  • year 年份表示

null

  • 没有值,未知
  • 注意,不要使用null进行运算,结果一定为null

数据库的字段属性(重点)

  • Unsigned
    无符号的整数
    声明了该列不能为负数

  • zerofill
    0填充的
    不足的位数,使用0来填充

  • 自增
    通常理解为自增,自动在上一条记录的基础上+1(默认)
    通常用来设计唯一的主键~index,必须是整数类型
    可以自定义设计主键自增的起始值和步长

  • 非空 NULL not NULL
    假设设置为not null,如果不给他赋值,就会报错
    NULL,如果不填写值,默认就是null

  • 默认
    设置默认的值
    如果不指定该列的值,则有默认的值

  • 扩展
    每一个表必须存在以下五个字段,未来做项目用的,表示一个记录存在的意义
    id 主键自增
    version 乐观锁
    is_delete 伪删除
    gmt_create 创建时间
    gmt_update 修改时间

sql语句创建数据库表

--注意,使用英文括号,并且表名使用着重号括起来
--AUTO_INCREMENT 自增
--字符串使用‘‘括起来,所有语句后面需要加,,最后一条语句不需要加
--PRIMARY KEY 主键,一般一个表只有一个唯一的主键
CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号‘,
`name` VARCHAR(30) NOT NULL DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
`pwd` VARCHAR(20) NOT NULL DEFAULT ‘123456‘ COMMENT ‘密码‘,
`sex` VARCHAR(2) NOT NULL DEFAULT ‘女‘ COMMENT ‘性别‘,
`birthday` DATETIME DEFAULT NULL COMMENT ‘出生日期‘,
`address` VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址‘,
`email` VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱‘,
PRIMARY KEY(`id`)) ENGINE INNODB DEFAULT CHARSET=utf8
  • 格式
CREATE TABLE [IF NOT EXISTS] `表名`(
  `字段名` 列类型 [属性] [索引] [注释],
  `字段名` 列类型 [属性] [索引] [注释],
  ……
  `字段名` 列类型 [属性] [索引] [注释])
[表类型][字符集设置][注释]

Mysql教程02

上一篇:SQL 跨实例操作


下一篇:python通过ssh跳转连接mysql