MySQL之牛刀小试

MHJY7U@A}L$6BIT~LY9VB)E.jpg

MySQL之进化篇
MySQL之实用篇

拿去用,不谢!

MySQL 基础知识

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

MySQL的数据类型

整形

数据类型 存储范围 所占字节
TINYINT 有符号值:-128到127 无符号值:0到255 1
SMALLINT 有符号值:-32768到32767 无符号值:0到65535 2
MEDIUMINT 有符号值:-2147483648到2147483647 无符号值:0到16777215 3
INT 有符号值:-8388608到8388607 无符号值:0到4294967295 4
BIGINT 有符号值:-9223372036854775808到9223372036854775807 无符号值:0到18446744073709551615 8

简单的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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统用户: 1.sys system(sys权限最高) 2.sysman(操作企业管理器) 密码是安装的时候输入的...
    3hours阅读 1,611评论 0 0
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,743评论 0 33
  • mysql和oracle语法都差不多,但还是有差别,查阅资料后我总结了一套完整的sql语句大全,供初学者学习 1....
    谭鱼鱼阅读 1,878评论 0 4
  • 第1章 初涉MySQL 1.1 MySQL文件 (1)MySQL目录结构 (2)MySQL配置向导文件(安装后配置...
    凛0_0阅读 832评论 1 0
  • 十年寒窗一考渡,遥看前程漫漫路。且将丝竹对醇露,休管明朝泪扑簌。回望他乡求学处,不辨葱蒜和五谷。卷中知识沧海粟,须...
    碧水浩浩阅读 126评论 0 0