美文网首页
MySQL的基本语法

MySQL的基本语法

作者: 扇动蝴蝶的翅膀 | 来源:发表于2019-01-23 20:42 被阅读0次

MySQL的基本语法

CRUD的操作:

C:create 增

(insert into 表名 values(将要增加的值);值的数量和表中的列数一致)
(insert into 表名(列名) values(给指定的列加值);其他为null,表示不知道)
(insert into 表名 values(将要增加的值),(将要增加的值),(将要增加的值);一次插入多行)

R:read 查

(select * from 表名 ;查询所有的列)
(select 列名,列名 from 表名 ;查询所需要的列,列的位置可以换(对列的筛选,术语上叫“投影”))
(select 字段条件 from 表名 where 条件;查询所有的列(对行的筛选,术语上叫“选择”))

U:update 修改

(update 表名  set  列名 = 新值, 列名 = 新值  where 条件;)

D:delete 删除(删除表中的数据)

(delete from 表名 删除整个表);
(delete from 表名 where 条件;删除所需删除的)
  1. drop database 数据库名;(删除数据库)
  2. use 数据库名;(使用数据库,数据库必须存在)
  3. create table 表名(列名 类型,列名 类型);(创建表)
  4. drop table 表名;(删除表的结构)
  5. truncate table 表名;(截断表)
    即也是删除表中的所有数据,但是与delete from 表名 不同的是:
    a 截断时速度更快
    b 截断表时,没绝对没有where条件
  6. alter table 表名 add 列名 类型;(给创建好的表添加列)
  7. alter table 表名 drop 列名;(给创建好的删除加列)
  8. desc 表名;(描述表的结构)(describe)
  9. alter table 表名 modify旧列名 新类型;(修改列的类型)
  10. alter table 表名 change 旧列名 新列名 新类型;(修改列的名字)
  11. alter table 表名 rename to 新表名或 rename table 表名 to 新表名;(修改表的名字)
  12. show create table 表名;显示建表内容
    注意:

  • drop 删除的是结构;delete 删除表中的数据
  • alter 修改表的结构;update 修改表中的数据;modify 修改表中的列的类型或约束;change 修改表中的列名和类型

数据类型

  1. 数字类型:

  • 整数:
    tinyint 占1个字节 -127~128
    smallint 占2个字节 -32768~32767
    int 占4个字节 -2147483648~2147473647
    bigint 占8个字节
    注意:只能存放整数,如果有小数,会四舍五入

  • 实数类型:
    decimal(M,N):总共占M列,小数占N 列(整数超出范围报错,小数超出范围四舍五入)
    float:有6 位有效数字(5位可靠数字 + 1位存疑数字)
    double:有15位有效数字(14位可靠数字 + 1位存疑数字)

  1. 字符串类型:

  • char:定长 char(10)表示最多存放10个,不够10个列的后面补齐,最大列数是255(优缺点:速度快但是浪费空间)
  • varchar:变长 varchar(10)表示最多存放十个,不够的后面不需要补齐(优缺点:节省空间但速度慢)
  • text:最多存放65535个列
  • longtext:最多存放4294967295个列

  1. 日期类型:

  • date:年月日
  • datetime:年月日 时分秒
  • timestamp:年月日 时分秒
    当给日期类型的列添加数据时必须保证格式为 yyyy-mm-dd,并且不能越界,且MySQL自动判断闰年

约束

  • 主键
  1. 主键约束:只要在定义的列后面添加 primary key该列就是主键了
  2. 被添加上主键的列:a 主键的值不能为空;b 也不能为null
  3. 一张表中最多只能有一个主键
  • 复合主键
  1. 复合主键是在所有列定义完之后在定义
  2. 复合主键虽然包含多个列,但仍然是一个主键
  • 自增长约束
  1. 自增长约束:只能给数字类型并且是主键的列在其后面添加自增张(auto_increment)
  2. 自增长总是从目前最大的值开始,继续增长的,就算是把最大的值删了,但是他还是记着,哈哈
  3. 被加上unique约束的列,作用是不能重复的,

a 默认值约束:default
b 不允许为空:not null


unique与primary key的区别

  1. unique允许null值进入表中,主键不允许
  2. 一张表中最多只能有一个主键,但是可以有多个unique约束

补充:数据库不能避免数据冗余,只能减少数据冗余

实体关系:

  1. 一对一:使用两张表,外键在任何一方都可以
  2. 一对多:使用两张表,外间在多的一方
  3. 多对多,使用三张表,外键在第三张表中

外键

外键要注意的地方:


  1. 在从表(子表)中,不能出现主表中没有的值
    比如:班级只有1,2,3班,那么学生就只能在这三个班)
  2. 删除表的时候,只能先删除子表(从表),再删除主表,
  3. 当主表中某一个值被依赖的时候,这个值不能被删除或修改
  4. 主表中被依赖 的列必须是主键
  5. 被依赖的列,与依赖他的列可以不同,但类型必须一致

  • 级联删除(修改):
alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on delete(on update) cascade
  • 同时添加级联删除和级联修改
alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on delete(on update) cascade  on delete(on update) cascade

相关文章

  • Mysql——进阶语法

    Mysql-进阶语法 导语 在上一篇《MySQL的基本语法》中我们了解了mysql基本的增删改查的语句。本篇我们将...

  • mysql基本语法

    mysql的启动重启命令 可以设置vi ~/.bash_profile,记得source ~/.bash_prof...

  • mysql基本语法

    登录 mysql -u root -p password 库 显示数据库 show databases; 判断是...

  • MySQL 基本语法

    Mysql 基础 SQL分类: DDL—数据定义语言(create,alter,drop)DML—数据操纵语言(s...

  • mysql基本语法

    mysql-sql 语句 字符集选utf-8 我需要学增删改查, 事物, 联合 启动数据库 mysql -u ro...

  • MySQL基本语法

    创建表 在数据库中每个table 名必须是唯一的。使用 IF NOT EXISTS 可以防止创建已经存在的表。 多...

  • MySQL的基本语法

    MySQL的基本语法 CRUD的操作: C:create 增 R:read 查 U:update 修改 D:de...

  • java 与mysql对应类型以及MySQl基本语法

    java 与mysql对应类型以及MySQl基本语法Mysql,Oracle,Java数据类型对应 Apache ...

  • Mysql阶段1总结及复盘

    最近主要是复习了Mysql的基本语法并尝试一个mysql数据分析,知识点简单总结如下: 一些体会: 基本语法要了解...

  • 3.MySQL的基本管理

    MySQL的基本管理 连接数据库语法mysql -uroot -p -h IP地址 -P 端口号示例mysql -...

网友评论

      本文标题:MySQL的基本语法

      本文链接:https://www.haomeiwen.com/subject/bzxodqtx.html