在mysql_MySQL(一)

news/2024/7/4 10:04:39

2021-01-06

1、MySQL学习

什么是MySQL?

MySQL是一个轻量级的关系型数据库,MySQL的数据是以表的形式来进行存储,表与表之间就存在关系,一对一,一对多的关系。

MySQL在系统能做什么事?

在一个软件系统里面,是分三部分,分别是客户端、服务端、数据库。

客户端:用来给用户使用,客户端是可视化的。

服务端:是用来交互整个系统的数据,将从客户端传递的数据进行筛选和判断。还可以将客户端的数据传递给数据库进行存储或者将数据库的数据传递给客户端。

数据库:用来存储数据,一般将重要的数据存储在数据库,不重要的数据存储在缓存数据库里,常见的缓存数据库:MonnDB,Redis.

2、MySQL查询语句,SQL语句,一般分为四种:DDL、DML、DQL、DCL。

DDL语句:用来定义和管理数据对象(数据库或者表)

常用命令:create创建、drop删除、alter修改

DML语句:用来操作数据库对象里面的数据

常用命令:insert插入、update更新、delete删除

DQL语句:用来查询数据库的数据

常用命令:select查询

DCL语句:用来管理数据库的语言和用户信息,包括用户权限和用户数据

常用命令grant、commit、rollback。

3、DDL语句:

查询所有数据库:

show databases;

创建一个新的数据库:

create database if not exists 数据库名称;(if not exists用来判断是否存在相同名称数据库)

删除一个数据库:

drop database if exists 数据库名称;

使用指定数据库:

use 数据库名;(只有先进行使用数据库,才能对数据库里面的表进行修改和编辑)

创建表:

create table 表名(

字段名1 列类型【属性】【索引】【注释】,

字段名2 列类型【属性】【索引】【注释】,

......

字段名n 列类型【属性】【索引】【注释】(注意:最后一行不要逗号)

)表类型 表字符集 标注释;

注意:属性有:not null不为空、unsigned无符号不能为负数、auto_increment自增、serofill用0填充

索引有:unique、primary key

例如:创建商品表,表名product

create table product(

`id` int(255) not null auto_increment primary key comment'商品编号',

`name` varchar(100) not null comment'商品名称',

`normal_price` double unsigned comment'商品原价',

`special_price` double unsigned comment'商品特价',

`product_desc` varchar(200) comment'商品详情',

`create_time` datetime not null comment'创建时间',

`edit_time` datetime not null comment'修改时间'

) charset =utf8 engine=innodb comment='商品表';

删除表:

drop table if exists 表名;

查看表结构:

desc 表名;

修改表中数据:

1、修改表名称:alter 和rename

alter table 旧表名 rename as 新表名;

2、修改表中的字段:modify 和change

alter table 表名 modify 字段名 列类型[属性][索引][注释];

alter table 表名 change 旧字段名 新字段名 列类型[属性][索引][注释];

(modify只能修改字段类型和属性、索引,change可以修改字段的字段名。)

3、向表中添加字段:add

alter table 表名 add 字段名 列类型[属性][索引][注释];

4、删除表中的字段:drop

alter table 表名 drop 字段名;

4、DML语句

用于操作数据库对象包含的数据,包括添加insert、更新update、删除delete

4.1、添加

insert into 表名(字段名1,字段名2,...,字段名n,) values ('值1','值2','...','值n');

例如:

insert into

product(`name`,`normal_price`,`special_price`,`product_desc`,`create_time`,`edit_time`)

vlaues ('耐克',600,450,'耐克鞋子真好','2021-01-06 15:30','2021-01-06 15:30');

4.2、查询表中数据

select 字段名1,字段名2,...,字段名n form 表名;

例如: select id,name from product;

(*代替所有的字段名,例如:select *from product;)

4.3、修改表中数据

update 表名 set `字段名1`='数据1',`字段名2`='数据2',...,`字段名n`='数据n';

例如:update product set `id`='2';

(可以同时修改表中的数据)

4.4、where关键字,对操作添加一个条件,结果是布尔值(true or false)

9种运算:

等于=,if 5=5,结果ture

不等于!=或者<>,if 2!=3 , 结果 ture

大于>,if 2>1,结果ture

小于

大于等于,

小于等于,

在某个范围between,格式:between 5 and 10 ,5到10之间包括5、10.

和and,两边条件都为ture,结果为true。

或or,两边条件只要有一个为true,结果都为true。

例如:修改Nike商品的价格为100,update product set price ='100' where name='Nike';

查询价格在200-300的商品,select *from product where price between 200-300;

4.5、删除表中数据

delete from 表名 where 条件;

6c432c5583d9a06a2f24e7f148b9a2c5.png


http://www.niftyadmin.cn/n/1999129.html

相关文章

匿名管道(例子)

子进程源代码&#xff1a; voidCProcessChildView::OnMypipeWrite(){ // TODO: Add your command handler code herechar buf[] "Hello, I am child process! I love my baby so much!"; DWORD dwWrite 0; if (!WriteFile(m_hWrite, buf, strlen…

centos 安装 mysql客户端_Centos7 下面安装 MySql 客户端

cd 到下载目录&#xff1b;执行sudo rpm -iU mysql-workbench-community-6.3.8-1.el7.x86_64.rpm如果系统依赖软件不满足&#xff0c;会提示&#xff0c;比如我的是这样的&#xff1a;[mslageecentos-dev Downloads]$ rpm -iU mysql-workbench-community-6.3.8-1.el7.x86_64.rp…

最值一看-------轮播图

<!DOCTYPE HTML><html><head><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><title>最值衣看</title><link href"http://www.hc360.com/chat/2014/0527/css/styles.css" rel"…

邮槽使用例子

接受端源代码&#xff1a; void CMailslotSrvView::OnMailslotsrv(){ // TODO: Add your command handler code here HANDLE hMailslot NULL; char buf[100] "/0"; DWORD dwRead 0; hMailslot CreateMailslot(".//mailslot//mymailslot", 0, MAILSLOT…

深入理解 React JS 中的 setState

此文主要探讨了 React JS 中的 setState 背后的机制&#xff0c;供深入学习 React 研究之用。 在课程 React.js入门基础与案例开发 中&#xff0c;有些同学会发现 React JS 中的 setState 的表现好像有点怪异&#xff0c;和理解中的 state 更新机制不太一样&#xff0c;下面我们…

mysql和mysqla_mysql(连接查询和数据库设计)

--创建学生表create table students (id int unsigned not null auto_increment primary key,name varchar(20) default ,age tinyint unsigned default 0,high decimal(5,2),gender enum(男, 女, 中性, 保密) default 保密,cls_id int unsigned default 0,is_delete bit defau…

使用nginx作为websocket的proxy server

blog.csdn.net/zhx6044/article/details/50278765 WebSocket WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分&#xff0c;WebSocket相较于原来开发这类app的方法来说&#xff0c;其能使开发更加地简单。大部分现在的浏览器都支…

命名管道例子

Server: // CNamedPipeClientView 消息处理程序voidCNamedPipeClientView::OnNamedpipeConnect(){ // TODO: Add your command handler code hereif (!WaitNamedPipe("//./pipe/mypipe", NMPWAIT_WAIT_FOREVER)) { MessageBox("there is no usable…