MySQL之牛刀小试

MySQL之进化篇 MySQL之实用篇

拿去用,不谢!

##MySQL 基础知识

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

整形

数据类型存储范围所占字节
TINYINT有符号值:-128到127 无符号值:0到2551
SMALLINT有符号值:-32768到32767 无符号值:0到655352
MEDIUMINT有符号值:-2147483648到2147483647 无符号值:0到167772153
INT有符号值:-8388608到8388607 无符号值:0到42949672954
BIGINT有符号值:-9223372036854775808到9223372036854775807 无符号值:0到184467440737095516158

简单的sql

####约束 约束的类型包括:

  • NOT NULL (非空约束)
  • PRIMARY KEY (主键约束)
  • UNIQUE KEY (唯一约束)
  • DEFAULT (默认约束)
  • FOREIGN KEY (外键约束)
创建表
    CREATE TABLE IF NOT EXISTS table_name (cloum_name data_type,...)  
复制代码

for example:

CREATE TABLE  IF NOT EXISTS  zwbTable (userId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,userName TEXT NOT NULL, age TINYINT UNSIGNED UNIQUE KEY,salary Float(8,2) UNSIGNED  DEFAULT 100)
复制代码
  • PRIMARY KEY 主键 ######注意:每张表只能有一个主键,主键保证唯一性,主键自动为NOT NULL
  • AUTO_INCREMENT 自动编号 保证数据的唯一性,不会出现重复的记录,默认起始值为1,每次的增量为1 ######注意: AUTO_INCREMENT 必须和 PRIMARY KEY 主键 一起使用
  • UNIQUE KEY 唯一约束 唯一约束可以保证记录的唯一性,可以为空 NULL , 每张表可以存在多个唯一约束
  • FLOAT(M,D) M是数字的总位数,D为小数点后面的位数
  • UNSIGNED 无符号值
  • DEFAULT 设置默认值
插入数据
INSERT INTO table_name (colum_name,...) VALUES(val,...)
复制代码

for example:

  INSERT INTO zwbTable(userName,age)VALUES('zwb',20)
复制代码
数据库查询
 SELECT expr,... FROM tableName
复制代码

for example:

SELECT * FROM zwbTabel
复制代码

###外键连接 CREATE TABLE provinces(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20) NOT NULL)

CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL,pid SMALLINT UNSIGNED,FOREIGN KEY(pid) REFERENCES provinces (id))
复制代码

######注意:

  • CASCADE(英文串联的意思) :从父表删除或更新且自动删除或更新子表中的匹配的行

  • SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL. 如果使用该选项,必须保证子表列没有指定NOT NULL.

  • RESTRICT :拒绝对父表的删除或更新操作

  • NO ACTION : 标准SQL的关键字,在MySQL中与RESTRICT相同 ###修改数据表

  • 添加单列

    ALTER TABLE table_name ADD [COLUMN] column_name [FIRST | AFTER column_name]
    复制代码

    for example:

    ALTER TABLE zwbTabel ADD sex TEXT NOT NULL AFTER username
    复制代码
  • 添加多列

    ALTER TABLE zwbTabel ADD (lala TEXT NOT NULL , haha TEXT NOT NULL)
    复制代码
  • 删除列

    ALTER TABLE table_name DROP column_name
    复制代码

    for example:

    ALTER TABLE zwbTabel DROP age
    复制代码
  • 删除多列

    ALTER TABLE zwbTabel DROP lala, DROP haha
    复制代码
  • 添加主键约束

     ALTER TABLE ADD table_name ADD [CONSTRAINT[symbol]] PARMARY KEY (cloumn_name)
    复制代码

    for example:

     ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id)
    复制代码
  • 添加唯一约束

    ALTER TABLE table_name ADD CONSTRAINT[symbol]] UNIQUE KEY
    复制代码

    for example:

    ALTER TABLE users2 ADD UNIQUE KEY (pid)
    复制代码
  • 添加外键约束

    ALTER TABLE ADD table_name ADD  CONSTRAINT[symbol]]  FOREIGN KEY (column_name) REFERENCE_DEFINITION 
    复制代码

    for example:

    ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id)
    复制代码

###删除约束

  • 删除主键约束

    ALTER TABLE DROP PRIMARY KEY 
    复制代码
  • 删除唯一约束

    ALTER TABLE  table_name DROP {INDEX|KEY} id
    复制代码

    for example:

    ALTER TABLE users DROP KEY id
    复制代码
  • 删除外键约束

    ALTER TABLE table_name DROP FOREIGN KEY fk_symbol
    复制代码
    注意: fk_symbol 是外键约束的名字

    for example:

    ALTER TABLE users2 DROP FOREIGN KEY PK_users2_id
    复制代码

转载于:https://juejin.im/post/5a31ea54f265da431523ec1f

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值