MySQL之牛刀小试

MySQL之牛刀小试_第1张图片
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

你可能感兴趣的:(MySQL之牛刀小试)