MySQL学习日记1

初识MySQL

为什么学习MySQL
1.MySQL是开源的数据库
2.MySQL跨平台
3.价格优势
4.功能强大且使用方便

SQL一共分三种:
• 1.数据定义语言(Data Definition Language,DDL)
数据库管理系统提供了数据定义语言定义数据库涉及各种对象,定义数据
的完整性约束、保密限制等约束。
• 2.数据操作语言(Data Manipulation Language,DML)
数据库管理系统提供了数据操作语言实现对数据的操作。基本的数据操作
有两类:检索(查询select)和更新(插入insert、删除delete和更新
update)。
• 3.数据控制语言(Data Control Language,DCL)
数据库管理系统提供了数据控制语言实现对数据库的控制,包含数据完整
性控制、数据安全性控制和数据库的恢复等。


MySQL在CMD命令行下登录

数据库当中的数据类型(常用)

  1. 数值类型
  • int
  • float
  • double
  1. 日期类型
  • DATE
  • DATETIME
  • TIMESTAMP
  • TIME
  • YEAR
  1. 常用字符串类型
  • CHAR
  • VARCHAR(M)

MySQL中的约束

  1. 数据库的完整性——指数据库的准确性和一致性。
  2. 完整性检查就是指检查数据的准确性和完整性。

MySQL中的6大约束

关键字解释
NOT NULL约束字段的值不能为空
DEFAULT设置字段的默认值
NIQUE KEY(UK)约束字段的值是唯一
RIMARY KEY(PY)约束字段为表的主键(非空且唯一),可以作为该表记录的唯一标识。
UTO_INCREMENT约束字段的值为自动增长
FOREIGN KEY(FK)约束字段为表的外键

非空:新增数据的时候 这个字段必须新增的同时有值;
默认:没有给定值得时候 数据库默认的值
唯一:唯一是指一个字段中所有的值不能重复
主键:通过主键一定能找到唯一的一条记录(主键包含非空且唯
一这两种约束)
自动增长: 主键数字自动往上递增1;可以使用自动增长的约束
(1.自动增长约束必须是主键而且数据类型是int。2.自动增长的数字不会回退)

在CMD命令行下登录MySQL

  • 登录MySQL
 h localhost -P 3306 -u root -p

-h表示host,即主机的ip地址,本机登录可以用localhost或127.0.0.1
-P表示port,端口,mysql数据库的默认端口是3306
-u表示user用户名
-p表示password密码(小写)

  • 创建数据库

create database if not exists 数据库名 default charset=utf8;

    create database if not exists ishop default charset = ut8;

其中,分号表示命令结束标识符。
应当先判断数据库中是否存在此数据库,在创建数据库的时候指定数据库的字符集为utf8

  • 删除数据库

drop database 数据库名;

drop database ishop;
  • 显示数据库
show databases;
+--------------------+
| Database           |
+--------------------+
|information_schema |
|mysql              |
|performance_schema |
|sakila             |
|sys                |
|world              |
+--------------------+
6 rows in set (0.00 sec)

系统数据库不要去乱动它

  • 显示数据表
use ishop; show tables;

在进行与表有关的操作之前必须要指定数据库。不然会报错

ERROR 1046 (3D000): No database selected

  • 建表

CREATE TABLE 表名(
属性名 数据类型 [约束],
属性名 数据类型 [约束],
·······
属性名 数据类型 [约束]
);

用逗号将定义语句隔开,在最后一句不写逗号。

create table commoditytype(
 ct_id int(11) primary key,
 ct_name varchar[50] not null,
)default charset=utf8;

其中,default charset=utf8;可不写。
有些MySQL中关键字不允许做表名,不然会报错.

create table order(
 o_id int(11),
)default charset=utf8;
 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(o_id int(11))' at line 1

这时可以给表名加上``符号(tab键上方)

create table `order`(
    o_id int(11) primary key auto_increment,
    o_cuid int(11) not null,
    o_cid int(11) not null,
    o_num int (11) not null,
    constraint fk_2 foreign key (o_cuid) references customer (cu_id),
    constraint fk_3 foreign key (o_cid) references customer (c_id)
    )default charset=utf8;
)
  • 查看表结构
    desc 表名;
desc `order`; 
FieldTypeNullKeyDefaultExtra
o_idint(11)NOPRINULLauto_increment
o_cuidint(11)NOMULNULL
o_cidint(11)NOMULNULL
o_numint(11)NONULL
  • 删除表

先删除子表,再删除父表。
drop 表名。

drop `order`;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值