MySQL(一)

关系型数据库(SQL):MySQL  Oracle  SqlServer SQLite DB2

非关系型数据库(NOSQL)Redis MongoDB

DDL数据定义语言   CREATE、DROP、ALTER;

DML:数据操纵语言 INSERT、UPDATE、DEETE

DQL:数据查询语言  SELECT

DCL:数据控制语言 GRANT、COMMIT、ROLLBACK 

创建数据库:CREATE DATABASE [IF NOT EXISTS]数据库名        [] :代表可选 <>代表必选

删除数据库:DROP DATABASE [IF EXISTS]数据库名

查看数据库:SHOW DATABASES 

使用数据库:USE 数据库名

创建表

CREATE TABLE [IF NOT EXISTS]  表名 (

    字段1 列类型 [字段属性|约束][索引][注释],                //列叫做字段

      ……

     字段n 列类型 [字段属性|约束][索引][注释]

)[表类型][表字符集][注释];

反引号用于区别mysql保留字和普通字符而引入的。

列类型   分为:数值类型  字符串类型 日期和时间型数值类型  NULL值

decimal(m,d)   字符串形式的浮点数    这个数字m位,小数点后面后面有d位

字符串类型  char[(M)]   varcha[(M)]    text 文本串 DATATIME 常用的时间类型

AUTO_INCREMENT  通常用于设置主键,且为整数类型

 

关键字关

名称

关键字

说明

非空约束

NOT NULL

字段不允许为空

默认约束

DEFAULT

 赋予某字段默认值

唯一约束

UNIQUE KEY(UK)

 设置字段的值是唯一的

 允许为空,但只能有一个空值

主键约束

PRIMARY KEY(PK)

设置该字段为表的主键

可唯一标识该表记录

外键约束

FOREIGN KEY(FK)

 用于在两表之间建立关系,

 需要指定引用主表的哪一字段

自动增长

AUTO_INCREMENT

 设置该列为自增字段

 默认每条自增1

 通常用于设置主键

 

键字

 

修改表名:ALTER TABLE 旧表名 RENAME [TO]新表名;

添加字段:ALTER TABLE 表名  ADD 字段名 数据类型[属性];

修改字段; ALTER TABLE 表名 CHANGE  原字段名 新字段名 数据类型[属性];

删除字段:ALTER TABLE 表名 DROP 字段名;

添加主键:ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(字段); 主键名pk_字段名;

添加自增: ALTER TABLE 表名  字段名 INT  AUTO_INCREMENT;

添加外键:ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段)

                  REFERENCES 关联表名(关联字段);

删除外键:ALTAR TABLE 表名 DROP FOREIGN KEY 外键名;

删除索引:ALTAR TABLE 表名 DROP INDEX 外键名;

 

AUTO_INCREMENT:默认初始值为1   步长为1 

改变自增列的初始值

CREATE TABLE  table1(

    id INT(4) PRIMARY KEY AUTO_INCREMENT

)AUTO_INCREMENT=100;  改变自增列的初始值只影响当前表

改变自增列的步长:SET @@auto_increment_increment=5; 

给字段加注释   COMMENT` ` 给表加注释COMMENT=``;

#单行注释                     /**/   多行注释

MYSQL的数据表类型:MyISAM :节约空间及相应速度 

                                    InnoDB:安全性、事务处理 及多用户操作数据表

一个表里主键只可以为0个或者一个,但可以有多个外键

有外键的表是从表(子表)

 

主键和外键列名可以不一样,数据类型必须一致

MyISAM 类型表文件:*.frm:表结构定义文件      *MYD:数据文件     MYI:索引文件     

InnoDB类型表文件:*.frm:表结构定义文件  ibdata1文件 

MySQL删除和添加不能加别名

字符串函数
 

   

   

CONCAT(str1,

       str1...strn)

字符串连接

SELECT    CONCAT('My','S','QL');

返回MySQL

INSERT(str,

pos,len,

newstr)

字符串替换

SELECT INSERT(

    'SQL Server数据库',

    3,10,'MySQL');

返回:这是MySQL数据库

LOWER(str)

将字符串转为小写

SELECT LOWER('MySQL');

返回mysql

UPPER(str)

字符串转为大写

SELECT UPPER('MySQL');

 返回MYSQL

SUBSTRING

  (str,num,len)

字符串截取

SELECT SUBSTRING(

    'JavaMySQLOracle',5,5);

返回MySQL

INSERT(str,pos,len,newstr) 参数1为oldstr;参数2为起始位置,从1开始;参数3为替换的数量;参数4为newstr;

FROM DUAL可以不写,隐式存在。

表结构和表数据的复制,但是索引过不来

CREATE TABLE test1 (
   SELECT * FROM test
)
————————————————
版权声明:本文为CSDN博主「Emmet630」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_55928104/article/details/116697592

————————————————
版权声明:本文为CSDN博主「Emmet630」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_55928104/article/details/116697592

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值