免费包装设计网站,装修包工头接活网站,做的很不好的网站,如何建设网站视频MySQL基本SQL语句#xff08;上#xff09;
一、客户端工具的使用
1、客户端工具mysql使用
mysql: mysql命令行工具#xff0c;一般用来连接访问mysql数据库
选项说明-u, --username指定登录用户名-p, --password指定登录密码(注意是小写p),一定要放到最后面-h, --hostn…MySQL基本SQL语句上
一、客户端工具的使用
1、客户端工具mysql使用
mysql: mysql命令行工具一般用来连接访问mysql数据库
选项说明-u, --username指定登录用户名-p, --password指定登录密码(注意是小写p),一定要放到最后面-h, --hostname指定数据库的主机地址-P, --portxxx指定数据库的端口号(大写P)-S, --socketname指定socket文件-e, --executename使用非交互式操作(在shell终端执行sql语句)
案例使用mysql客户端工具连接服务器端用户名root、密码123
# mysql -uroot -p123 注以上连接方式虽然可以连接进入到MySQL但是官方不建议我们直接把密码写入在终端建议-p然后直接回车然后在终端中输入密码。 案例连接10.1.1.100服务器上的MySQL数据库用户名itheima密码123
# mysql -h 10.1.1.100 -P 3306 -uitheima -p
Enter password:123
案例根据不同的套接字连接同步的数据库
# mysql -S /tmp/mysql.sock -uroot -p
Enter password:123
案例在不进入MySQL内部的情况下执行SQL语句获取数据信息
# mysql -e show databases; -uroot -p
Enter password:123
扩展了解
默认库描述information_schema1、对象信息数据库提供对数据库元数据的访问 有关MySQL服务器的信息例如数据库或表的名称列的数据类型或访问权限等 2、在INFORMATION_SCHEMA中有数个只读表它们实际上是视图而不是基本表因此你将无法看到与之相关的任何文件 3、视图是一个虚表即视图所对应的数据不进行实际存储数据库中只存储视图的定义在对视图的数据进行操作时系统根据视图的定义去操作与视图相关联的基本表mysql1、mysql数据库是系统数据库。它包含存储MySQL服务器运行时所需的信息的表。比如权限表、对象信息表、日志系统表、时区系统表、优化器系统表、杂项系统表等。 2、不可以删除,也不要轻易修改这个数据库里面的表息。performance_schemaMySQL5.5开始新增一个数据库主要用于收集数据库服务器性能并且库里表的存储引擎均PERFORMANCE_SCHEMA而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表sys1、mysql5.7增加了sys 系统数据库通过这个库可以快速的了解系统的元数据信息 2、sys库方便DBA发现数据库的很多信息解决性能瓶颈 3、这个库是通过视图的形式把information_schema 和performance_schema结合起来查询出更加令人容易理解的数据
2、客户端工具mysqladmin使用
mysqladmin客户端管理mysql数据库工具
㈠ 常用选项
选项描述-h, --hostname指定连接数据库主机-p, --password指定数据库密码-P, --port#指定数据库端口-S, --socketname指定数据库socket文件-u, --username指定连接数据库用户
㈡ 常用命令
命令描述password [new-password]更改密码reload刷新授权表shutdown停止mysql服务status简短查看数据库状态信息start-slave启动slavestop-slave停止slavevariables打印可用变量version查看当前mysql数据库的版本信息
案例更改root账号的密码为root
# mysqladmin password 新密码 -p
Enter password:旧密码
# mysqladmin password root -p
Enter password:123
案例更改密码后建议刷新授权表mysql flush privileges;
# mysqladmin reload -p
Enter password:123
案例停止mysql
# mysqladmin shutdown -p
Enter password:123 service mysql_3306 stop 案例查看mysql状态
# mysqladmin status -p
Enter password:123
案例打印可用变量mysql本身预置了很多变量信息
# mysqladmin variables -p
Enter password:123
案例查询mysql版本
# mysqladmin version -p
Enter password:123
二、MySQL中的SQL语句
1、什么是SQL
SQL 是 Structure Query Language(结构化查询语言)的缩写,它是使用关系模型的数据库应 用语言,由 IBM 在 20 世纪 70 年代开发出来,作为 IBM 关系数据库原型 System R 的原型关 系语言,实现了关系数据库中的信息检索。
20 世纪 80 年代初,美国国家标准局(ANSI)开始着手制定 SQL 标准,最早的 ANSI 标准于 1986 年完成,就被叫作 SQL-86。标准的出台使 SQL 作为标准关系数据库语言的地位得到了 加强。SQL 标准目前已几经修改更趋完善。
正是由于 SQL 语言的标准化,所以大多数关系型数据库系统都支持 SQL 语言,它已经发展 成为多种平台进行交互操作的底层会话语言。
2、SQL语句的分类 DDL(Data Definition Languages)语句: 数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter、rename、truncate。 DML(Data Manipulation Language)语句: 数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、update等。 DCL(Data Control Language)语句: 数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。 DQL(Data Query Language)语句: 数据查询语句用于从一个或多个表中检索信息。主要的语句关键字包括 select
3、MySQL中如何求帮助 亘古不变的官档软件作用
MySQL5.6官方文档
MySQL5.7官方文档 man文档工具作用
man文档可以对mysql的一些基本工具及后台命令求帮助比如
[rootdb01 ~]# man mysql
[rootdb01 ~]# man mysql_install_db
[rootdb01 ~]# man mysqldump
[rootdb01 ~]# man mysqld MySQL的命令行求帮助主要针对SQL语句求帮助
mysql help;
mysql ?
mysql help create table;根据内容进行查找帮助
mysql ? contentsAccount ManagementAdministrationData DefinitionData ManipulationData TypesFunctionsFunctions and Modifiers for Use with GROUP BYGeographic FeaturesLanguage StructureStorage EnginesStored RoutinesTable MaintenanceTransactionsTriggers寻求账户管理的帮助一级一级的向内部查
mysql ? Account Management
mysql ? CREATE USER 注在mysql内部没有clear命令也就是无法使用clear实现清屏如果想实现清屏操作可以使用快捷键Ctrl Shift L 4、SQL语句的基本操作
☆ MySQL的内部结构 注我们平常说的MySQL其实主要指的是MySQL数据库管理软件。 一个MySQL DBMS可以同时存放多个数据库理论上一个项目就对应一个数据库。如博客项目blog数据库、商城项目shop数据库、微信项目wechat数据库。
一个数据库中还可以同时包含多个数据表而数据表才是真正用于存放数据的位置。类似我们Office软件中的Excel表格理论上一个功能就对应一个数据表。如博客系统中的用户管理功能就需要一个user数据表、博客中的文章就需要一个article数据表、博客中的评论就需要一个message数据表。
一个数据表又可以拆分为多个字段每个字段就是一个属性。
一个数据表除了字段以外还有很多行每一行都是一条完整的数据记录。
☆ 数据库的基本操作
① 创建数据库
普及英语小课堂
创建 create
数据库 database
基本语法
mysql create database 数据库名称; 特别注意在MySQL中当一条SQL语句编写完毕后一定要使用分号;进行结尾否则系统认为这条语句还没有结束。 案例创建数据库的相关案例
创建db1库
create database db1;创建db1库并指定默认字符集
create database db1 default charset gbk;如果存在不报错(if not exists)
create database if not exists db1 default character set utf8;
说明不能创建相同名字的数据库 扩展编码格式常见的gbk中国的编码格式与utf8国际通用编码格式 latin1 256个字符 abcd、1234、传统字符
国内汉字无法通过256个字符进行描述所以国内开发了自己的编码格式gb2312升级gbk
中国台湾业开发了一套自己的编码格式big5
很多项目并不仅仅只在本地使用也可能支持多国语言标准化组织开发了一套通用编码utf8后来5.6版本以后又进行了升级utf8mb4 编写SQL语句是一个比较细致工作不建议大家直接在终端中输入SQL语句可以先把你要写的SQL语句写入一个记事本中然后拷贝执行。 ② 查询已创建数据库
英语小课堂
显示 show
数据库 database
基本语法
显示所有数据库
mysql show databases;
显示某个数据库的数据结构
mysql show create database db_itheima;
③ 修改数据库信息
在MySQL5以后的版本中MySQL不支持更改数据库的名称。我们所谓的修改数据库主要修改的是数据库的编码格式。
英语小课堂
修改 alter
数据库 database
mysql alter database 数据库名称 default charset新编码格式;
案例把db_itheima数据库的编码格式更改为gbk
mysql alter database db_itheima default charsetgbk;
④ 删除数据库
英语小课堂
删除 drop
数据库 database
基本语法
mysql drop database 数据库名称;
案例删除db_itheima数据库
mysql drop database db_itheima;
5、数据表的基本操作
☆ 数据表的创建
英语小课堂
创建 create
数据表 table
基本语法
mysql create table 数据表名称(字段1 字段类型 [字段约束],字段2 字段类型 [字段约束],...
);
案例创建一个admin管理员表拥有3个字段编号、用户名称、用户密码
mysql create database db_itheima;
mysql use db_itheima; use在MySQL中的含义代表选择use 数据库名称相当于选择指定的数据库。而且use比较特殊其选择结束后其尾部可以不加分号但是强烈建议所有的SQL语句都要加分号养成一个好习惯。 mysql create table tb_admin(id tinyint,username varchar(20),password char(32)
) engineinnodb default charsetutf8; tinyint 微整型范围-128 ~ 127无符号型则表示0 ~ 255 表示字符串类型可以使用char与varcharchar代表固定长度的字段varchar代表变化长度的字段。 案例创建一个article文章表拥有4个字段编号、标题、作者、内容
mysql use db_itheima;
mysql create table tb_article(id int,title varchar(50),author varchar(20),content text
) engineinnodb default charsetutf8; text 文本类型一般情况下用varchar存储不了的字符串信息都建议使用text文本进行处理。 varchar存储的最大长度理论值65535个字符。但是实际上有几个字符是用于存放内容的长度的所以真正可以使用的不足65535个字符另外varchar类型存储的字符长度还和编码格式有关。1个GBK格式的占用2个字节长度1个UTF8格式的字符占用3个字节长度。GBK 65532~65533/2UTF8 65532~65533/3 ☆ 查询已创建数据表
英语小课堂
显示 show
数据表 table
显示所有数据表当前数据库
mysql use 数据库名称;
mysql show tables;
显示数据表的创建过程编码格式、字段等信息
mysql show create table 数据表名称;
或
mysql desc 数据表名称;
☆ 修改数据表信息
① 数据表字段添加
英语小课堂
修改 alter
数据表 table
基本语法
mysql alter table 数据表名称 add 新字段名称 字段类型 first|after 其他字段名称;
选项说明
first把新添加字段放在第一位
after 字段名称把新添加字段放在指定字段的后面
案例在tb_article文章表中添加一个addtime字段类型为date(年-月-日)
mysql alter table tb_article add addtime date after content;
mysql desc tb_article;
② 修改字段名称或字段类型
修改字段名称与字段类型也可以只修改名称
mysql alter table tb_admin change username user varchar(40);
mysql desc tb_admin;
仅修改字段的类型
mysql alter table tb_admin modify user varchar(20);
mysql desc tb_admin;
③ 删除某个字段
mysql alter table tb_article drop 字段名称;
mysql desc tb_article;
④ 修改数据表引擎MyISAM或InnoDB
mysql alter table tb_article enginemyisam;
mysql show create table tb_article;
⑤ 修改数据表的编码格式
mysql alter table tb_admin default charsetgbk;
mysql show create table tb_admin;
⑥ 修改数据表名称
移动表到另一个库里并重命名
rename table db01.t1 to db02.t11;
或者
alter table db01.t1 rename db02.t11;只重命名表名不移动
rename table tt1 to tt2;
或者
alter table tt1 rename tt2;
☆ 删除数据表
英语小课堂
删除 drop
数据表 table
mysql drop table 数据表名称;
6、给EditPlus添加一个语法着色
第一步把sql.stx语法着色文件放置在某个位置 第二步打开EditPlus配置 设置编码格式并取消备份文件 第三步添加SQL语句的语法着色支持
添加SQL语句支持 引入.sql文件以及语法着色文件 7、数据的增删改查重点
英语小课堂
增加insert
删除delete
修改update
查询select
☆ 数据的增加操作
基本语法
mysql insert into 数据表名称([字段1,字段2,字段3...]) values (字段1的值,字段2的值,字段3的值...); 特别注意在SQL语句中除了数字其他类型的值都需要使用引号引起来否则插入时会报错。 第一步准备一个数据表
mysql use db_itheima;
mysql create table tb_user(id int,username varchar(20),age tinyint unsigned,gender enum(男,女,保密),address varchar(255)
) engineinnodb default charsetutf8; unsigned代表无符号型只有0到正数。tinyint unsigned无符号型范围0 ~ 255 enum枚举类型多选一。只能从给定的值中选择一个 第二步使用insert语句插入数据
mysql insert into tb_user values (1,李向阳,24,男,广东省广州市);
mysql insert into tb_user(id,username,age) values (2,马鹏,23);
☆ 数据的查询操作
基本语法
mysql select * from 数据表名称 [where 查询条件];
mysql select id,username,age from 数据表名称 [where 查询条件];
案例查询tb_user表中的所有记录
mysql select * from tb_user;
案例查询tb_user表中的idusername以及age字段中对应的数据信息
mysql select id,username,age from tb_user;
案例只查询id2的小伙伴信息
mysql select * from tb_user where id2;
案例查询年龄大于23岁的小伙伴信息
mysql select * from tb_user where age23;
☆ 数据的修改操作
基本语法
mysql update 数据表名称 set 字段1更新后的值,字段2更新后的值,... where 更新条件; 特别说明如果在更新数据时不指定更新条件则其会把这个数据表的所有记录全部更新一遍。 案例修改username马鹏这条记录将其性别更新为男家庭住址更新为广东省深圳市
mysql update tb_user set gender男,address广东省深圳市 where username马鹏;
案例今年是2020年假设到了2021年现在存储的学员年龄都差1岁整体进行一次更新
mysql update tb_user set ageage1;
☆ 数据的删除操作
基本语法
mysql delete from 数据表名称 [where 删除条件];
案例删除tb_user表中id1的用户信息
mysql delete from tb_user where id1; delete from与truncate清空数据表操作
mysql delete from 数据表;
或
mysql truncate 数据表; delete from与truncate区别在哪里 delete删除数据记录 数据操作语言DML 在事务控制里DML语句要么commit要么rollback 删除大量记录速度慢只删除数据不回收高水位线 可以带条件删除 truncate删除所有数据记录 数据定义语言DDL 不在事务控制里DDL语句执行前会提交前面所有未提交的事务 清里大量数据速度快回收高水位线high water mark 不能带条件删除
8、自动增长水位线与主键约束
☆ 自动增长对某个字段进行自动编号
mysql create table tb_user(id int not null auto_increment,username varchar(20),age tinyint unsigned,gender enum(男,女,保密),address varchar(255)
) engineinnodb default charsetutf8; not null代表非空约束这个字段只要是插入数据就必须要有值。 ☆ 主键约束非空、唯一
create table tb_user(id int not null auto_increment,username varchar(20),age tinyint unsigned,gender enum(男,女,保密),address varchar(255),primary key(id)
) engineinnodb default charsetutf8;
插入数据库时id位置直接写NULL即可
mysql insert into tb_user values (null,李向阳,24,男,广东省广州市);
mysql insert into tb_user values (null,马鹏,23,男,广东省深圳市);
mysql insert into tb_user values (null,上官婉儿,18,女,湖南省长沙市);