自学内容网 自学内容网

mysql基础知识点一

安装MYSQL,我们就直接安装,不使用修改my.ini文件那种方式

然后安装SQLyog,SQLyog不能直接安装在系统盘上,要不然删除的时候可能会把系统盘删除掉,要安装旗舰版,网盘里面有

DDL:数据库的增删改

DML:数据库的表的增删改

DQL:查询数据库数据

MySQL注释:

1、#……        单行注释

2、/*……*/     多行注释

DBMS与DB的关系:

DBMS(数据库管理系统)与DB(数据库)

就像是那个SQLyog和MYSQL的关系

如果没有SQLyog我们只能在终端输入命令

命令行操作数据库:

大小写都行

创建数据库:

CREATE  DATABASE    [IF NOT  EXISTS]   数据库名;

删除数据库:

DROP DATABASE  [IF EXISTS] 数据库名; 
查看数据库:

SHOW   DATABASES;
使用/选择数据库:

USE  数据库名;

例子:

USE myschool; 是一个 SQL 语句,用于选择或切换到一个名为 myschool 的数据库。

先使用 USE myschool; 选择了 myschool 数据库,然后执行了一个查询


USE myschool;
SELECT * FROM students;

显示表:
desc 表名
建表:
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT
);
显示表创建语句:
show create table 表名

创建数据表:
属于DDL

反引号用于区别MySQL保留字与普通字符而引入的,不用写单引号

CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
        `字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
        `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
         … …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

) 

例子:

CREATE TABLE meng (
    name VARCHAR(255),  -- 指定 VARCHAR 的长度
    id INT              -- 整数类型
);

列类型:

规定数据库中该列存放的数据类型

分为:

  • 数值类型
  • 字符串类型
  • 日期和时间型数值类型
  • NULL值

数值类型:

字符串类型:

日期和时间型数值类型:

NULL值:
  • 理解为"没有值"或"未知值"
  • 不要用NULL进行算术运算,结果仍为NULL;

数据字段属性:

表列类型设置:就是这里面的属性


 CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
 `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
… …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

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

UNSIGNED
  • 无符号的
  • 声明该数据列不允许负数
ZEROFILL
  • 0填充的
  • 不足位数的用0来填充,如 int(3),5则为 005
AUTO_INCREMENT
  • 自动增长的,每添加一条数据,自动在上一个记录数上加1
  • 通常用于设置主键,且为整数类型
  • 可定义起始值和步长
NULL 和 NOT NULL
  • 默认为NULL,即没有插入该列的数值
  • 如果设置为NOT NULL,则该列必须有值
DEFAULT
  • 默认的
  • 用于设置默认值

例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值

表列类型注释:

就是这个注释

CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
 `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
… …    
          `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

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

 CREATE   TABLE [ IF NOT EXISTS ]    `test`   (
      `id`   int (11)  UNSIGNED  COMMENT   ‘编码号’
)COMMENT=‘测试表’;

创建表时:

在最后一个字段 后面不可以有逗号。

表列类型设置:

就是这个加粗的地方

CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
 `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
… …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

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

设置类型:

CREATE TABLE  表名(
#省略一些代码
) ENGINE =  MyISAM ;

或者

CREATE TABLE  表名(
#省略一些代码
) ENGINE =  InnoDB ;
MySQL的数据表的类型:MyISAM、InnoDB 、HEAP、BOB、CSV等

MyISAM与InnoDB类型比较:

使用MyISAM: 节约空间及相应速度使用

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

设置数据表字符集:

就是加粗的这里,就是为数据库、数据表、数据列设定不同的字符集

 CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
 `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
… …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

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

设置格式:

创建时通过命令来设置,如

 CREATE TABLE  表名(
#省略一些代码
)CHARSET  =  utf8;

如无设定,则根据MySQL数据库配置文件my.ini(Windows系统)中的参数设定 如:character-set-sever = utf8

表索引:

 CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
    
`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
 `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
… …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

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

数据表的存储位置:

MySQL数据表以文件方式存放在磁盘中

  • 包括表文件、数据文件以及数据库的选项文件
  • 位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表

InnoDB类型数据表只有一个*.frm文件,数据文件为上一级目录的 ibdata1 文件

MyISAM类型数据表对应三个文件:

*.frm -- 表结构定义文件

*.MYD -- 数据文件

*.MYI -- 索引文件

修改数据表:

设置主键和自动增长:
CREATE TABLE goods (
    goods_id BIGINT(20) NOT NULL AUTO_INCREMENT,
    -- 其他列定义...
    PRIMARY KEY (goods_id)
);

设置默认值:
CREATE TABLE goods(
goodsID BIGINT(20) NOT NULL AUTO_INCREMENT,
goodsTime  DATETIME NOT NULL DEFAULT '0000-00-00'

PRIMARY KEY(goodsID) 
);

设置长度 和 小数点后保留两位:

要创建一个名为price的列,数据类型为DECIMAL,长度为10,小数点后保留2位,并且默认值为0.0

CREATE TABLE goods (
    -- 其他列定义...
    price DECIMAL(10, 2) NOT NULL DEFAULT 0.0
);

修改表(ALTER TABLE):

修改表名:
ALTER TABLE 旧表名  RENAME AS  新表名

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

修改字段:

MODIFY 只能修改字段的数据类型或属性,不能修改字段名称。

ALTER TABLE 表名   MODIFY 字段名   列类型 [ 属性 ]

CHANGE 可以同时修改字段的名称和数据类型或属性。

ALTER TABLE 表名   CHANGE 旧字段名  新字段名   列类型 [ 属性 ]

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

删除数据表:

如删除不存在的数据表会抛出错误

 DROP  TABLE  [ IF  EXISTS ]   表名

原文地址:https://blog.csdn.net/qq_62859013/article/details/143001199

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!