MySQL基本操作(上)

本博客写是装好Mysql并配好环境变量后的基本操作(windows10系统下)且都是黑框内的操作。

一、登陆MySQL

首先启动服务,在桌面左下角图标处点击右键Windows PowerShell(管理员)(A),然后会出来个蓝框,在蓝框内输入net start mysql80(80是对应的MySQL版本如果是其他版本则输入对应的版本号,如5.7版本输入net start mysql57),然后按回车键,若显示服务已启动,则服务启动成功。

在搜索框内输入cmd则会弹出命令提示符点击进去,所谓的黑框就弹了出来,黑框不一定是黑的,可以通过右键点击左上角改变其属性,接着在黑眶内输入mysql -u root -p,按回车键,输入你的密码,敲回车,登陆成功进入MYSQL。

二、对数据库的操作

(1)查看数据库:show databases;

(2)创建数据库:create database 数据库名;

(3)使用数据库:use 数据库名;

(4)删除数据库:drop database 数据库名;

部分实例

三、对表的操作

(1)创建数据表:create table 数据表名 (

属性1 类型, 属性2 类型,);

类型后边可以加限定条件:primary key(主键)、not null(不能为空)、unique(唯一的)、foreign key(外键)、default(定义初值)、

primary key:主键是一个表的特殊字段,可以唯一标识表的每条信息,主键的目的是为了快速查找表中的某条信息,主键必须是唯一的,主键值是非空的,主键可以是单一字段也可以是多个字段组合。

foreign key(外键):外键表是一个特殊的字段,设置外键原则,必须依赖于数据库已存在的父表的主键,外键可以为空值,建立改表与其父表的关联关系。foreign key(父表主键属性) references 外键名(同父表相同的属性)

not null:字段不能有空值,保证所有记录该字段都有值

unique:所有记录该字段的值不能重复出现

auto_increment:用于为表插入的新纪录自动生成唯一的id,一个表只能有一个字段使用该约束,必须为主键的一部分,约束字段可以是任何整数类型,默认值从一开始自增

default:创建表时指定该字段的默认值,当插入一条型记录没有为该字段赋值时,系统会自动为该字段插入默认值

创建表newstudent、newcourse、newsc实例

(2)删除数据表:drop table 数据表名;

(3)查询数据表

1.查看表结构:desc 数据表名;

2.查看表的详细定义:show create table 数据表名;

(4)修改基本表

alter table 修改表名,修改字段数据类型,条件约束...等等

1.修改表名:alter table 旧表名 rename 新表名;

2.修改字段的数据类型:alter table 表名 modify 属性名 数据类型;

3.修改字段名:alter table 表名 change 旧属性名 新属性名 新数据类型;

4.增加字段:alter table 表名 add 属性1 数据类型 (完整约束)first | after 属性名2;      若不设置位置,默认加到最后的位置

5.删除字段:alter table 表名 drop 属性名;

6.修改字段排列位置:alter table 表名 modify 属性1 数据类型 first | after 属性名2;

7.修改数据引擎:alter table 表名 engine = 储备引擎名;

8.删除表的外键约束:alter table 表名 drop foreign key 外键别名;

9.删除表的主键约束:alter table 表名 drop primary key;

10.删除表:drop table (if exists) 表名;

(5)索引

索引是由数据表中一列或多列组合而成,作用提高对表中数据的查询速度。优点:提高检索数据的速度,对于有依赖关系的父表和子表之间的联合查询,可以提高查询速度使用分组和排序子句进行查询时,节省查询中分组和排序时间。缺点:创建和维护索引需要浪费时间,耗费时间数量随数据量增加而增加,索引需要占用物理空间,增加,删除,修改数据时,要动态维护索引

索引的创建方式:

create table 表名 (属性名 数据类型 [完整约束],属性名 数据类型 [完整约束],[unique] index 索引名(属性名 [(长度)] [asc | desc]);

1.普通索引:这是最基本的索引,它没有任何限制。

2.唯一性索引:它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式

3.全文索引:全文索引只设置在char、varchar、text类型字段上,查询数据量较大的字符串时可以提高查找效率

4.单列索引:在表中单个字段上创建索引

5.多列索引:在表中多个字段上创建一个索引

6.空间索引

在存在的表上创建索引

create [unique | fulltext | spatial] index 索引名 on 表名 (属性名 [(长度)] [asc | desc]);

alter table 创建索引

alter table 表名 add [unique | fulltext | spatial] index 索引名 (属性名 [(长度)] [asc | desc]);

四、数据查询

1.单表查询

select [all | distinct] 属性名1,属性名2 | * from 表名1,表名2 [where 条件表达式 ] [group by 属性名 [having 条件表达式]] [order by 属性名 asc | desc ] [limit n];

 distinct:去除重复


查 询 条 件


谓    词


比    较


=,>,<,>=,<=,!=,<>,!>,!<;NOT+上述比较运算符


确定范围


BETWEEN AND,NOT BETWEEN AND


确定集合


IN,NOT IN


字符匹配


LIKE,NOT LIKE


空    值


IS NULL,IS NOT NULL


多重条件(逻辑运算)


AND,OR,NOT

order by:可以按一个或多个属性列排序   asc升序    desc降序       排序时空值默认排最后

聚集函数:计数count([all | distinct] *)   count([all | distinct] 列名)   计算总和sum([all | distinct] 列名)    计算平均值avg([all | distinct] 列名)   最大值max([all | distinct] 列名)   最小值min([all | distinct] 列名)

where与having差别:where用于基表或视图,从中选择满足条件的元组,having短句用于组,从中选择满足条件的组

limit(MySQL独有)两种使用方式:limit 记录数           limit 初始位置 记录数

2.连接查询

[表名1.] 列名 <比较运算符> [表名2.] 列名

[表名1.] 列名 betwee [表名2.] 列名 and  [表名2.] 列名2

自身连接

复合条件连接

3.嵌套查询

一个select-from-where语句称为一个查询块

将一个查询块嵌套在另一个查询块的where子句或having语句条件中的查询成为嵌套查询

带有in关键字的子查询

带有比较运算符的子查询 (<,>,=,!=,<=,>=,<>)   与any或all谓词配合使用      any任意一个值   all所有值

带有exists谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”

合并查询     union  /  union all   参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同

原文地址:https://www.cnblogs.com/shenzhenhuaya/p/15226181250_shenzhenhua02.html

时间: 2024-10-28 10:04:38

MySQL基本操作(上)的相关文章

Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用

MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF8 COLLATE utf8_general_ci; -- 显示数据库语句 SHOW DATABASES; -- 查看数据库的创建方式,主要是字符类型 SHOW CREATE DATABASE db_name; -- 修改数据库的属性信息,比如修改字符集为 GBK ALTER DATABASE db

高性能MySQL(上)

今天在公司做了一个分享,发上来大家探讨一下! 高性能MySQL(上),布布扣,bubuko.com

【mysql】mysql基本操作

mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from t1 2.mysql索引的操作 2.1索引的增加 alter table tb_name add index index_name (列名) alter table tb_name add unique(列名) alter table tb_name add primary key (列名) 2.2

第02章 mysql 基本操作

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] DuBois.MySQL Cookbook 中文版 第2版 [M].北京:电子工业出版社,2008 [4] DuBois.MySQL技术内幕(第4版)[M].北京:人民邮电出版社,2011 [5] 范德兰斯.MySQL开发者SQL权威指南 [M].北

在MySQL应用上的挑战

本期采访的讲师是来自腾讯高级软件工程师 雷海林,他有着10年以上的Linux后台Server开发经验,目前主要从事分布式Cache.实时大数据处理引擎,分布式MySQL(TDSQL)设计和开发工作. 他将在SDCC 2016 深圳站之数据库峰会上分享的主题是< 腾讯金融云数据库备份恢复原理与实践 >,全部数据库技术峰会讲师情况和议题等可参见:SDCC深圳站数据库/大数据专场讲师议题全公布. 以下是专访内容: CSDN:首先请简单介绍下您和您所在的公司,以及目前所负责的领域. 雷海林: 我叫雷海

Linux下mysql基本操作

Linux下mysql基本操作                            作者:浩浩哥来了 对mysql进行初始密码的添加 方法(一) mysqladmin -uroot password 123 方法(二) 如果在添加初始密码是报错了可以进行我下面的方法修改密码. ERROR1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 在/etc/my.cnf文件中添加skip-grant-

Mysql数据库上修改日期-->造数据

这次要给客户安装测试ineedle设备,但是安装后不会立刻有数据显示,不能够全面的展示给用户web界面的一些信息.此时需要有一个公网服务器能够展示一下ineedle统计数据,但是公司58设备上没有流量了,近期的数据没有更新了,所以准备将数据库中实际数据抽出几天的更改一下日期,使其展示ineedle的web界面上.最新的七天数据是2015.07.27--2015.08.02这7天的数据,正好一个星期.计划是将2015.07.27-2015.08.02修改为2015.10.19-2015.10.25

mysql选择上一条、下一条数据记录

1.表数据结构 选择mysql记录上一条,下一条sql语句 SELECT * FROM user ORDER BY rank ASC +----+------+---------+ | ID | rank | name | +----+------+---------+ | 1 | 1 | admin1 | | 2 | 2 | admin2 | | 3 | 3 | admin3 | | 4 | 4 | admin4 | | 5 | 5 | admin5 | | 6 | 6 | admin6 |

MySQL基本操作(+参考手册)

1.MySQL 5.1参考手册 2.基础教程 3.常用举例入下: 1 连接数据库:mysql -h主机地址 -u用户名-p用户密码 2 数据库的提示符:mysql> 3 退出数据库:exit(回车) 4 显示数据库:show databases; 5 建立数据库:create database 库名; 6 选择数据库:use 数据库名; 7 显示数据库中的表:show tables; 8 显示数据表的结构:describe 表名; 9 建表:create table 表名 (字段设定列表); 注

SqlServer 与 MySQL 基本操作语句对比

继上篇 MySQL 基本操作语句 后,个人测试和补充了 SqlServer 与 MySQL 的 基本操作语句对比,主要是对比SQL命令的一些差异,不作更多说明. (由于mysql 没有系统学习过,欢迎大侠们拍砖~~)  SqlServer版本:SqlServer 2008 MySQL版本: MySQL 5.5 执行符号: MySQL :分号';' SqlServer :字符'GO' 自增列:MySQL必须要索引,不能设置增量: 默认值:MySQL默认值不用加括号:SqlServer可加或不加: