mysql

2.链接MySQL服务器的命令是什么?

> mysql –u root  -h 127.0.0.1  –p password 

3.断开MySQL服务器的命令是什么?

mysql>quit;

4.启动MySQL服务器的命令是什么?

  net start mysql

5.停止MySQL服务器的命令是什么?

net stop mysql
create database newsDB;
Query OK, 1 row affected (0.00 sec)
创建数据库
mysql> use newsdb;
Database changed
调用数据库
mysql> create table message(
    -> id int primary key auto_increment,
    -> title varchar(10),
    -> content text(1000),
    -> category_id int,
    -> hits int
    -> );
Query OK, 0 rows affected (0.05 sec)
创建表结构
mysql> desc newsdb.message;
查看表结构
mysql> create table comment(
    -> comment_id int primary key auto_increment,
    -> id int,
    -> comment_content text
    -> );
Query OK, 0 rows affected (0.04 sec)
创建第二个表结构
mysql> desc newsdb.comment;
查看第二个表表结构

非空约束

mysql> create table lll(
    -> id int(10),
    -> name varchar(32) not null
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> insert into lll (id) values(1);
ERROR 1364 (HY000): Field 'name' doesn't have a default value

用 not null约束的字段不能为空值,必须给出具体数据。

唯一约束性

mysql> create table llll(
    -> id int(10),
    -> name varchar(32)not null,
    -> email varchar(128) unique
    -> );
Query OK, 0 rows affected (0.02 sec)

unique约束的字段,具有唯一性,不可重复,但可以为null 创建表,保证邮箱地址唯一(列级约束)

表级约束
mysql> create table lqy1(
    -> id int(10),
    -> name varchar(30) not null,
    -> email varchar(128),
    -> unique(email)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql>  insert into lqy1(id,name,email) values(1,'xlj','932834897@qq.com');
Query OK, 1 row affected (0.01 sec)

mysql>  insert into lqy1(id,name,email) values(2,'xlj','932834897@qq.com');
ERROR 1062 (23000): Duplicate entry '932834897@qq.com' for key 'email'
表级约束 多字段联合约束
mysql> create table lqy2(
    -> id int(10),
    -> name varchar(32) not null,
    -> email varchar(128),
    -> unique(name,email)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql>  insert into lqy2(id,name,email) values(1,'xxx','qq.com');
Query OK, 1 row affected (0.01 sec)

mysql>  insert into lqy2(id,name,email) values(2,'mmm','qq.com');
Query OK, 1 row affected (0.01 sec)

mysql>  insert into lqy2(id,name,email) values(3,'mmm','qq.com');
ERROR 1062 (23000): Duplicate entry 'mmm-qq.com' for key 'name'
mysql>

联合约束,表示两个或以上的字段同时与另一条记录相等,则报错

插入第一条数据

插入第二条数据如果是与联合字段中的一条相同另一条相同,也是可以的

插入第三条数据,如果与联合字段都相同,则报错

表级约束可以给约束起名字
mysql> create table lqy3(
    -> id int(10),
    -> name varchar(30) not null,
    -> email varchar(128),
    -> constraint lqy3_email_unique unique(email)
    -> );
Query OK, 0 rows affected (0.02 sec)

主键约束

单一主键:给一个字段添加主键约束

复合主键:给多个字段联合添加一个主键约束(只能用表级定义) 单一主键(列级定义)

单一主键(表级定义)

复合主键(表级定义)

在MySQL数据库提供了一个自增的数字,专门用来自动生成主键值,主键值不用用户维护,自动生 成,自增数从1开始,以1递增(auto_increment)

插入两行记录,id主键值会自动增加

数据库的分类

•现在世界上数据库分为3类
•关系型数据库
•RDBMS 关系数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。
•主流的数据库
•最出名的3大关系型数据库:MySQL Oracle MSSQL(sql server)
•MySQL被Oracle收购了
•非关系型数据库NOSQL 不是要取代传统关系型数据库 而是补充
•NOSQL的意思就是Not Only SQL
•产生的原因:关系型数据库太慢了!
•redis(基于内存的) mongodb(基于硬盘的) hbase(基于大数据集群的)
•NEWSQL
•近几年才出现的
•是RDBMS和NOSQL折中的数据库解决办法
•介于关系型数据库和非关系型数据库之间的数据库
•代表:MySQL8.0
•注意!!!MySQL5.7及以下是传统的关系型数据库 MySQL8.0是NEWSQL
•SQL and NOSQL
•其实底层还是关系型数据库 并优化至NOSQL的速度,并且支持两种的开发语言
注意!MySQL8.0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值