热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql基础使用浅谈(1)_MySQL

mysql基础使用浅谈(1)。一、安装启动数据库:1安装数据库:sudoapt-getinstallmysql-serversudoapt-getinstallmysql-client
一、安装启动数据库

1.安装数据库:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
2.开启数据库:

sudo service mysql start

\

3.登录数据库:
mysql -u root (这是在数据库没有密码的情况下登录)

mysql -u root -p (这是在数据库有密码的情况下登录)

\



二、创建数据库(注意在输入mysql命令时特别注意分号—“;”的使用!!!)

1.创建数据库:

CREATE DATABASE hello; (表示创建名为hello的数据库)

(这里要注意的是mysql中对于命令并不区分大小写,所以CREATE DATABASE也可以写成create database;create DATABASE;CREATE daTabase等)

若输入以上指令后出现:Query OK,1 row affected
则说明创建成功。
可以通过命令 :show databases; 进行查看

\
2.连接数据库
eg: use hello
若出现:Database changed 则说明数据库连接成功
\

查看当前数据库中的表格命令:show tables;
若提示:Empty set(0.00 sec)
则说明当前数据库为空。
\

3.新建数据表
创建的格式为:
create table 表格的名称

列名1 数据类型(数据长度),
列名2 数据类型(数据长度),
列名3 数据类型(数据长度)
);
eg:
create table zhuce

id int(10),
name char(20),
phone int(10)
);
当提示为:Query OK,0 rows affected(0.10 sec)
则说明创建成功!
\

可以通过show tables; 命令对次数据库中的表格进行查看。
\

4.数据类型
数据库中的数据类型与普通的编程语言的数据类型大同小异,很多的用法形式都是一样的,以下列出不同的:
enum 用途:单选,比较性别 eg:enum('a','b','c')
set 用途:多选 eg:set('1','2','3')
date 用途:日期 eg:YYYY-MM-DD 3个字节
time 用途:时间点或持续时间 eg:HH:MM:SS 3个字节
year 用途:年份值 eg:YYYY 1个字节
varchar 用途:变长字符串 0~255字节
text 用途:长文本数据 0~65535字节

char和varchar区别:
char:char(10)表示的就是存储的字符占10个字节(无论有没有存 满10个字符)。
varchar:varchar(10)表示的是最多可以存10个字节,但是当你存入的字符小于10时,则按实际长度存储。


5.插入数据
通过以下命令对表格进行查看:select * from nihao;
出现:Empty set
则表示表格中仍为空~~~
下面需要在表格中插入数据,插入格式为:
insert into 表格名称(列名1,列名2,列名3) values(值1,值2,值3);
eg:
insert into nihao (id,name,phone) values(01,'Tommy',101010);
当显示为Query OK,则说明插入成功啦!
\

这里要注意对于varchar、char、date、time、enum、text、set等类型时需要单引号修饰,而int、float、double等则不需要单引号。


插入后再使用select * from nihao查看nihao表格。

\

6.退出mysql连接

输入exit 或者是quit 或者是 \q 即可退出

\


三、mysql 中的约束类

约束类型及其关键字如下:

\

1.主键约束

主键约束用于约束表中一行,作为这一行的标识符,在一张表中通过主键就可以准确定位到一行,行中的主键不能有重复且不能为空!!!

eg:create table example1

( id int(10) primary key

name char(20),

constraint dpt_pk primary key(dpt_name)

);

表示的就是主键约束,constraint dpt_pk primary key(dpt_name)这句代码是定义主键,dpt_pk是自定义的主键名。

还有复合主键定义eg: constrint proj_pk primary key(proj_num,proj_name)

2.默认值约束

默认值约束规定当有默认值约束的列,插入数据为空时,这个位置将会被默认值的值填充

设置如下:

\

代码分析:代码中的default'10' 表示的就是当dpt_num没有输入时,则默认输出为10

eg:insert into example(dpt_name,dpt_num) value('nihao',11);

insert into example(dpt_name) values('wohenhao');

代码分析:第二行代码中没有输入dpt_num

\

输入完以上代码后输入select * from example; 对表格进行查看发现:

\

3.唯一约束

唯一约束就是规定表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

表格创建形式如下:

\

代码分析:代码中的unique(stu_class)就是对stu_class的唯一约束。

输入数据如下:

\

\

当输入第二行代码时,会发现提示错误,错误的原因是stu_class的在表格建立时设置为unique,即唯一值!

4.外键约束

外键既能确保数据完整性,也表现表之间的关系,一个表可以有多个外键,每个外键必须参考另一个表的主键,被外键约束的列,取值必须在它的参考列中有对应的值。

5.非空约束

被非空约束的列,在进入时必须为非空的。

表格创建如下:

\

代码分析:这里设定的是id不能为空

数据插入:

\

代码分析:可以看到代码中没有输入id,输入完成后,有 1 warning 一个警告。

查看表格:

\

id没有输入,但是其在表格中显示值为0,即当id被not null约束时,当输入为空时,被记为0.

四、修改和删除

1.删除数据库

命令如下示例:drop database 数据库名;

eg:drop database test;

2.重命名表

格式:rename table 原名 to 新名;

或者是:alter table 原名 rename 新名;

或者是: alter table 原名 rename to 新名;

3.删除表

格式:drop table 表名称;

4.修改表结构

①增加一列:

格式:alter table 表名字 add column 列名称 数据类型 约束;

或:alter table 表名字 add 列名字 数据类型 约束;

②删除一列:

格式:alter table 表名字 drop column 列名字;

或: alter table 表名字 drop 列名字;

③重命名一列:

格式:alter table 表名称 change 原列名 新列名 数据类型 约束;

(注意:这条重命名语句后面的“数据类型”不能省略,否则重命名失败)

④改变数据类型

格式:alter table 表名字 modify 列名字 新数据类型;

(需要谨慎考虑,可能导致数据丢失)

5.对表的内容修改

①修改表中的某个值

格式:update 表名字 set 列1=值1,列2=值2 where 条件;

(注意:一定要有where条件,否则后果不堪设想!)

②删除一行记录

格式:delete from 表名字 where 条件;

eg:delete form test where name='nihao';

推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 数据库(外键及其约束理解)(https:www.cnblogs.comchenxiaoheip6909318.html)My ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • yum安装_Redis —yum安装全过程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis—yum安装全过程相关的知识,希望对你有一定的参考价值。访问https://redi ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
author-avatar
打杂大叔_868
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有