创建数据库数据库,语句和语句删除语句创建中

初始化完成后mysql 登录数据库,就可以启动数据库了。有两种方法可以启动数据库。

使用服务器管理界面启动;

从 mysql 命令开始。

使用 mysql 命令启动数据库:

按+r组合键打开窗口,进入命令行;

使用cd命令进入mysql目录;

输入 bin 启动 mysql 服务。

启动数据库

使用 binmysql -u root -p 命令进入mysql运行环境。

服务镜像,打开数据库:

图片[1]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

创建数据库

让我们创建一个数据库,语句。

语法格式如下:

create database [db_name];

创建一个名为 web 的数据库:

create database web;

数据库创建完成后,会在mysql的data目录下自动生成一个名为web的目录,数据库的数据会存放在这个目录下。

mysql中可以支持多个数据库,所以我们可以创建多个数据库。

查看数据库

数据库创建完成后,使用show语句查看mysql当前有哪些数据库。

show databases;

删除数据库

使用drop语句删除数据库,语法如下:

drop database db_name;

删除创建的web数据库,命令如下:

drop database web

删除数据库是不可逆的操作。

mysql数据表管理

使用table语句创建数据表,语法如下。

user 数据库名;
create table 表名 (字段名 类型(长度),字段名 类型(长度));

创建表语句:

明确数据表的结构;

名字字段的名称;

类型;

长度等

查看数据表

查看表点:

查看数据库中包含哪些表

查看一个表的具体结构

使用的语句是显示语句和语句。

show tables

describe 库名.表名;

使用语句可以查看表的每个字段的名称、类型、长度、是否为空、是否有主键、默认值、备注等信息。

修改数据表

可以修改表结构,如表名、字段名、字段类型等。可以使用alter语句来实现修改操作。

修改表名

修改表名的语句:

alter table 旧表名 rename 新表名;

修改数据表以更改为 .

alter table student rename student1

修改字段名称

修改字段名的语法如下:

alter table 表名 change 旧属性名 新属性名 新数据类型;
alter table student1 change name s_anme varchar(50);

修改字段类型

修改字段类型的语法格式:

alter table 表名 modify 属性名 数据类型;
alter table student1 modify name varchar(32);

添加字段

添加字段的语法如下:

alter table 表名 add 属性名 数据类型;
alter table student1 add sex char(1);

删除字段

删除字段语句:

alter table 表名 drop 属性名;

例子:

alter table student1 drop sex;

删除数据表

使用 drop 语句删除数据库中的表。

use 数据库名;
drop 表名;

或者

drop table 数据库名.表名;

要删除数据中的表:

use test;
drop table student;

或者

drop table test.student;

mysql用户管理

MySQL 提供了完整的数据库用户和权限管理系统。

创建和删除用户

创建用户

使用以下语句创建用户:

create user 'username'@'host' idendified by 'password';

表示为创建的用户名,host指定用户可以登录的主机。

create user 'test1'@'localhost' idendified by '1234';
create user 'test3'@'122.xxx' idendified by '1234';

用户删除

使用 drop 语句删除用户,语法格式:

drop user 'username'@'host';

一个例子如下:

drop user 'test1'@'localhost';

授予和撤销用户权限授予用户权限

授权语句可以授权用户:

grant privileges on dbname.tablename TO 'username'@'host';

表示要授予用户的操作权限。

grant select, insert on mysql.test TO 'test1'@'%';

表示授权用户test1对所有登录主机上的mysql库的test表具有和权限。

grant all on *.* TO 'test2'@'localhost';

表示授权用户test2对本地主机数据库中所有库中的所有表拥有所有权限。

收回用户权限

可以使用语句回收权限。

revoke privileges on databasename.tablename from 'username'@'host';

例子:

revoke select on *.* from 'test2'@'localhost';

设置和更改用户密码

使用mysql提供的密码设置和修改语句,语法格式:

set password for 'username'@'host' = password('newpassword');

表示要设置或更改密码的用户名;

host 指定用户的登录主机;

指示要设置或更改的密码。

例子:

set password for 'test1'@'localhost' = password('12345');

什么是数据库

数据库是按照数据结构组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API,用于创建、访问、管理、搜索、复制它所拥有的数据。

数据存储在文件中,但是在文件中读写数据比较慢。

术语

数据库是相关表的集合。

数据表是数据的矩阵。

,一列包含相同类型的数据。

行,一行是一组相关的数据。

冗余,存储两倍的数据,冗余降低了性能但提高了数据安全性。

主键是唯一的,一个数据表只能包含一个主键。

外键,用于关联两个表。

复合键,使用多列作为索引键,一般用于复合索引。

索引,使用索引可以快速访问数据库中的特定信息。

参照完整性,参照完整性要求在关系中不允许引用不存在的实体。

关系数据库由一个或多个表组成:标题、行、列、键和值。

表头是每一列的名称,列是相同数据类型的数据集合,行用来描述一条记录的具体信息,值是行的具体信息,每个值必须是与列的数据类型相同,键的值在当前列内是唯一的。

MySQL下载地址为:MySQL

安装 MySQL

Mysql安装成功后,默认root用户密码为空,可以使用如下命令创建root用户密码:

[root@host]# mysqladmin -u root password "new_password";

登录到Mysql

命令行:mysql -h 主机名 -u 用户名 -p

运行mysql服务:

mysql -h localhost -u root -p

MySQL PHP 语法

PHP函数格式如下:

mysqli_function(value,value,...);mysqli_connect($connect);
mysqli_query($connect,"SQL 语句");
mysqli_fetch_array()
mysqli_close()

使用 PHP 脚本连接到 MySQL

() 函数连接数据库

语法:

mysqli_connect(host,username,password,dbname,port,socket);

参数说明:

host 是主机或 IP 地址;

是mysql用户名;

mysql的密码;

是默认使用的数据库;

port 尝试连接mysql服务器的端口号;

语法:

bool mysqli_close ( mysqli $link )

连接到mysql服务器:


mysql创建数据库

使用命令创建数据库,语法:

create database 数据库名;

使用 php 脚本创建数据库

语法:(,查询,);

使用 mysql 连接;

query 是查询字符串;

一个常数,值总和。

使用 PHP 创建数据库

代码:

<?php
$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('连接错误: ' . mysqli_error($conn));
}
echo '连接成功
'; $sql = 'create database web'; $retval = mysqli_query($conn,$sql ); if(! $retval ) { die('创建数据库失败: ' . mysqli_error($conn)); } echo "数据库 web 创建成功n"; mysqli_close($conn); ?>

drop 命令删除数据库

删除命令格式:

drop database ;

使用 php 脚本删除数据库

语法

mysqli_query(connection,query,resultmode);

使用 PHP 函数删除数据库:

删除数据库:

<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功
'; $sql = 'DROP DATABASE web'; $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('删除数据库失败: ' . mysqli_error($conn)); } echo "数据库 web 删除成功n"; mysqli_close($conn); ?>

使用 PHP 脚本选择 MySQL 数据库

使用函数获取数据库

语法:

mysqli_select_db(connection,dbname);

例子:

选择数据库的函数:

选择数据库


MySQL 数据类型

MySQL支持多种类型,分为三类:

价值;

约会时间;

字符串类型。

MySQL 5.0 及以上

1、汉字的长度与编码有关:

UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

2、(n)表示n个字符,不分汉字和英文,Mysql可以存储n个字符,只是实际字节长度不同

3、MySQL检查长度,可以用SQL语言查看

MySQL创建数据表

表名

表字段名

定义每个表字段

语法:

用于创建 mysql 数据表的 SQL 语法。

CREATE TABLE table_name (column_name column_type);

在数据库中创建数据表:

create table if not exists `table_tb` (
    `table_id` int unsigned auto_increment,
    `table_title` varchar(100) not null,
    `table_author` varchar(40) not null,
    `table_date` date,
    primary key (`table_id`)
)engine=InnoDB default charset = utf8;

注意:在auto_increment定义列为自增的属性,一般用于主键,数值会自动加1,。engine设置存储引擎,charset设置编码。

创建数据表

代码:

<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功
'; $sql = "create table table_tbl( ". "table_id int not null auto_increment, ". "table_title varchar(100) not null, ". "table_author varchar(40) not null, ". "submission_date DATE, ". "primary key ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'RUNOOB' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表创建失败: ' . mysqli_error($conn)); } echo "数据表创建成功n"; mysqli_close($conn); ?>

MySQL字段属性应尽可能设置为NOT NULL

首先,考虑空值“”和null的概念:

空值不占空间

在mysql中,null其实是占空间的

MySQL删除数据表

语法,删除mysql数据表的语法:

drop table table_name;

使用 PHP 脚本删除数据表

语法:

mysqli_query(connection,query,resultmode);

使用 PHP 脚本删除数据表:

<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功
'; $sql = "drop table table_tb1"; mysqli_select_db( $conn, 'web' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表删除失败: ' . mysqli_error($conn)); } echo "数据表删除成功n"; mysqli_close($conn); ?>

MySQL插入数据

MySQL数据表插入数据一般成语法:

insert into table_name(field1,field2,...fieldN)
    values
    (value1,value2,...valueN);

添加数据

代码:

<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功
'; // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $table_title = '学习'; $table_author = 'web'; $submission_date = '2018-03-06'; $sql = "insert into table_tbl ". "(table_title,table_author, submission_date) ". "values ". "('$table_title','$table_author','$submission_date')"; mysqli_select_db( $conn, 'web' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法插入数据: ' . mysqli_error($conn)); } echo "数据插入成功n"; mysqli_close($conn); ?>

INSERT 插入多条数据

INSERT INTO table_name (field1, field2,...fieldN) VALUES (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;

SQL 基本语法

学习sql语句和mysql基本数据类型,学习掌握sql语句、查询语句以及数据插入、修改、删除的各种具体查询语句。

了解数据库事务的概念、特性和用法。

sql目录还组织了一张思维导图:

图片[2]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

SQL 语句简介结构化查询语言简称SQL。结构化查询语言是一种数据库查询和编程语言,用于访问数据和查询、更新和管理关系数据库系统。

SQL 语句是一种对数据库进行操作的语言。

sql分为三种:

DDL语句,数据定义语句,定义不同的数据库、表、列、索引等数据库对象。

DML 语句,数据操作语句,用于添加、删除、更新和查询数据库记录,以及检查数据的完整性。

DCL语句,数据控制语句,定义数据库、表、字段、用户的访问权限和安全级别。

mysql基本数据类型

MySQL 提供了多种数据类型,包括数字类型、字符串类型、日期和时间类型。

数字类型

字符串类型

日期和时间类型

数字类型

mysql的数值类型:

整数类型

浮点型

定点型

整数类型:

小整数

整数

整数

大整数

浮点型:

漂浮

定点类型:

整数类型的划分是基于存储空间的大小和表示范围的大小。

浮点型是一种用来表示实数的方法。根据位数和精度,浮点类型分为单精度浮点数(8 位精度)和双精度浮点数(16 位精度)。

Types 提供了几种字符串类型:

字符

斑点

文本

枚举

字符与

char 定义一个固定长度的字符串

定义可变长度字符串

char 的长度固定为建表时声明的长度,取值范围为 0~255。保存 char 值时,右边补空格,达到指定长度。

当一个 char 值被检索到时,尾部的空格会被移除,所以在存储的时候,字符串的右边应该没有空格。如果字符串右侧有空格,则查询完成后将其删除。

长度可指定为0~6535,该值在保存时只保存需要的字符串,另外增加一个字节来记录长度。

并用于存储二进制字符串。没有字符集,将根据列值字节对值进行排序和比较。

文本和 blob

text 和 blob 是存储为对象类型的文本和二进制文件。

text 被认为足够大,blob 被认为足够大,但是 text 和 blob 与 sum 不同:

保存或检索 blob 和文本的值时,不会删除尾随空格。

比较时,文本会用空格扩展以适应被比较的对象。

对于 blob 和文本索引,必须指定索引前缀的长度。

blob 和 text 不能有默认值。

国际象棋文本和 blob 对象的最大字符串长度由它们的类型决定。

文字分为四种,文字,和。

博客分为,blob,和四种类型。

枚举

enum 表示枚举类型,创建表时需要通过枚举明确指定其取值范围。枚举不区分大小写。枚举只允许从一组值中选择一个值,而不是一次选择多个值。

集合是一个集合对象,可以包含 0 到 64 个成员,它占用的存储空间大小随集合中成员的数量而变化。

日期和事件类型

有多种日期和时间类型可供选择:

时间

日期

日期格式,年份,YYYY;时间,HH:MM:SS;日期, YYYY-MM-DD;, YYYY-MM-DD HH:MM:SS, ,YYYY-MM-DD HH:MM:SS。

数据插入

insert into 表名 values (值1,值2,...);
insert into 表名 (列1,列2,...) values (值1,值2);

在mysql中,一条语句可以一次插入多条记录。语法格式如下。

insert into 表名 (列1,列2,...) values (值1,值2,...), (值1,值2,...),...;

数据修改通过命令修改:

update 表名 set 列名 = 新值 whert 列名 = 某值;
update 表1,表2,...set 表1.列1,表2.列2,...where 条件;

数据删除

可以使用以下命令删除:

delete from 表名 where 列名=值;

该命令可以一次从多个表中删除数据:

delete 表1,表2,... from 表1,表2,...where 条件;

数据查询

最基本的语句的语法:

select 字段 from 表名 where 条件;

条件查询

条件查询语句:

select 字段 from 表名 where 条件;

联合查询

联合运算符

union 运算符用于组合两个或多个语句的结果集。

代码:

select 条件 from 表1
union
select 条件 from 表2;

union 和 union all 的主要区别

union all 用于将结果集直接合并在一起。

union 用于在 union all 一次之后进行解构,以去除重复的结果记录。

不要重复查询

语法格式如下:

select distinct 字段 from 表名;

模糊查询

语法格式:

select 字段 from 表名 where 字段 like 值;

使用%用于匹配0个或多个字符,可以匹配任意类型和长度的字符mysql 登录数据库,长度没有限制。

“_”的使用用于匹配任何单个字符,并且通常用于限制表达式的字符长度。

排序查询

使用 order by 关键字进行排序:

select 字段 from 表名 where 条件 order by field1 desc/asc, field2 desc/asc, ...;

排序方式:desc表示降序,asc表示升序。默认值为升序。

order by 后面可以跟多个不同的排序字段。

限制查询

使用limit关键字限制查询,格式:

select 字段 limit 起始偏移量,行数;

聚合

汇总报表格式:

select 字段 op_name from 表名 where 条件 group by filed1, filed2, ... with rollup having 条件;

表示要执行的聚合操作,即聚合函数。

聚合函数:

求和函数

计数功能记录数

max 函数最大值

min 函数最小值

表示分类聚合的字段

with 表示是否对分类聚合后的结果进行聚合

表示分类结果的条件过滤

连接内连接

内连接查询是指查询的所有结果在连接表中都可以有对应的记录。默认是inner join,可以不写join关键字,也可以写inner join。

join分为三类:

内连接:获取两个表中匹配字段的记录。

左连接:获取左表中的所有记录,即使右表中没有匹配的记录。

右连接:用于获取右表中的所有记录,即使左表中没有对应的匹配记录。

图片[3]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

图片[4]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

图片[5]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

左连接和右连接

左连接是指以左侧表中的数据为基准,匹配右侧表中的数据。

如果匹配到对应的数据,就会显示匹配结果

如果对应的数据不匹配,则显示为null

左连接关键字:左连接。右连接的关键字:右连接。

右连接则相反。

事务

事务概述:事务一般是指要完成或完成的事情。在计算机术语中,访问并可能更新数据库中的各种数据项的程序执行单元。

事务由在事务开始和事务结束之间执行的集合操作组成。

事务是由 SQL 语句组成的一组业务逻辑。只有事务中的所有SQL语句都执行成功,才能认为整个事务成功,否则为失败。

交易的四大特征

原子性

一致性

隔离

持久性

事务提交

默认情况下,自动提交 SQL 语句。每条 SQL 语句执行完毕后,会自动提交事务。如果要统一提交事务,需要先关闭MySQL的自动提交功能。

检查数据库是否开启了自动提交:

show variables like 'autocommit';

使用以下命令关闭自动提交:

set autocommit=0;

图片[6]-创建数据库数据库,语句和语句删除语句创建中-4747i站长资讯

手动提交事务的命令:

commit

事务回滚

事务中成功执行语句的结果应该回滚到未执行状态,称为事务回滚。

事务回滚:

rollback

事务隔离级别

事务并发读取问题

脏读:从另一个事务中读取未提交的数据;

不可重复读:两次读不一致;

幻读( read):读取已经被另一个事务提交的数据。

开始交易

事务以 begin 开始:

格式:

begin transaction  |@ 

语法如下:

@用户自定义变量,该变量必须声明为char,,nchar或数据类型。

begin 语句的执行。

提交事务

表示提交一个事务,即提交一个事务的所有操作。

撤消事务

表示事务被撤销,即事务运行过程中出现某种故障,无法继续执行事务。系统撤消事务中对数据库的所有已完成操作,并回滚到事务开始时的状态。

语法格式:

rollback[transaction]

MySQL 正则表达式

^ 匹配输入字符串的开头。

$ 匹配输入字符串的结尾。

[…] 字符集合。匹配任何一个包含的字符。

[^…] 负值字符的集合。匹配任何未包含的字符。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。

{n}n 是一个非负整数。匹配一定数量的 n 次。

{n,m}m 和 n 是非负整数,其中 n

超过

=

大于或等于

文章来源:https://www.csdn.net/gather_2e/NtDacgwsMzgzNTItYmxvZwO0O0OO0O0O.html

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享