MySQL笔记-1

news/2024/7/10 5:09:56 标签: mysql, path
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">path>

mysql配置">MySQL配置

1,环境变量配置:

例如MySQL安装在E:\mysql-5.6.24-win32
我的电脑–》属性–》–》高级系统设置–》环境变量–》PATH–》追加E:\mysql-5.6.24-win32–》保存

2,配置my-default.ini

文件安装目录,安装目录里面的data目录
basedir =E:\mysql-5.6.24-win32\bin
datadir =E:\mysql-5.6.24-win32\data

mysql">3,安装MySQL

管理员身份进入cmd–》E:\mysql-5.6.24-win32–》输入mysqld -install –>安装成功

mysql服务">4,启动MySQL服务

net start mysql
mysql -u root -p –>回车,第一次进入不需要密码
net stop mysql –>停止服务
MySQL默认端口号:3306
这里写图片描述
这里写图片描述

mysql提示符">修改mysql提示符

方式一:连接客户端时通过参数指定

shell>mysql -uroot -proot -prompt 提示符

方式二:连接上客户端后, 通过prompt命令修改

mysql>prompt 提示符
prompt 修改提示符
\h:主机名
\D:日期
\d:当前数据库
\h:服务器名称
\u:当前用户

mysql语句规范">MySql语句规范:

①关键字和函数名称全部大写
②数据库名称、表名称、字段名称全部小写
③SQL语句必须以分号结尾
常用语句
SELECT VERSION(); 查询当前服务器版本
SELECT NOW(); 查询当前日期时间
SELECT USER(); 查询当前用户

mysql操作数据库">初涉MySQL——操作数据库

一、数据库创建:CREATE

1、语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name.
2、DATABASE和SCHEMA是相同的,任选其一
3、IF NOT EXISTS:如果创建的数据库存在,则不只报出warning,不写会报错
4、CHRARCTER SET gbk:为表设置编码方式,如果不设置则用mysql默认的编码方式

二、查看数据库列表:SHOW

1、SHOW { DATABASE | SCHEMAS } [LIKE ‘pattern’ | WHERE expr]
2、SHOW CREATE DATABASE xx:显示xx数据库信息

三、数据库的修改:ALTER

1、修改数据库编码方式:ALTER { DATABASE | SCHEMAS } [db_name][DEFAULT] CHARACTER SET [=] charset_name

四、删除数据库:DROP

1、删除数据库:DROP { DATABASE | SCHEMAS } [IF EXISTS] db_name;

mysql -uroot -proot prompt \D –修改mysql操作符为当前日期
show databases –展示所有数据库
create database if not exists t1 character set gbk; –创建数据库
show create database t1; –展示数据库t1的创建命令和编码形式
–修改数据库编码格式
alter database t2 character set =utf8;
–删除数据库
drop database if exists t1;
–展示警告信息
show warnings;

五,数据库的常用操作

1–打开数据库

USE db_name;

2.查看当前数据库

SELECT DATABASE();

表的操作

1,创建表

CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
column_name data_type,
)

2,查看数据表

1.SHOW TABLES:查看当前数据库中的数据表
2.SHOW TABLES FORM mysql:查看所有数据库中的数据表
3,查看数据表类型:SHOW COLUMNS FORM tbl_name;

3,插入记录(数据表中的 行)

INSERT [INTO] tb1_name [(col_name,…)] VALUES(val,…);
INSERT 关键字
INTO 可省略
tb1_name 数据表的名称
col_name 数据表中字段(列)的名称 可以省略,当省略时,后面插入记录数要和所有字段数相符,不省略时,要输入字段名称,后面插入记录也要相符。
VALUES(val,..) 关键字(记录) 记录数要和前面字段相符
NULL,字段值可以为空
NOT NULL, 字段值禁止为空
CREATE TABLE tb2(
username VARCHAR(20) NOT NULL;
age TINYINT UNSIGNE NULL;

4,主键

可以写为PRIMARY KEY,也可以写成KEY
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL,也就是说必须要为主键赋值。但如果主键选择了AUTO_INCREMENT,那么不需要手动赋值。
auto_increment必须和主键primary key一起使用,但是主键primary key不一定要和auto_increment一块使用

5,约束

  1. primary key
    主键约束
    一个表中只能有一个

  2. UNIQUE KEY
    (1)唯一约束
    (2)唯一约束可以保证记录的唯一性
    (3)唯一约束的字段可以为空值(NULL)
    (4)每张数据表可以存在多个唯一约束

6,外键约束

CREATE TABLE TB_MAIN_KEY(
id INT(1) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);

CREATE TABLE TB_OUT_KEY(
id INT(1) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_DEPT1 FOREIGN KEY(deptId) REFERENCES TB_MAIN_KEY(id)
);

7, 查看数据表结构

DESCRIBE 表名 或者 DESC 表名

8,表级约束与列级约束


  • 对一个数据列建立的约束,称为列级约束
  • 对多个数据列建立的约束,称为表级约束
  • 列级约束既可以在列定义时声明,也可以在列定以后声明
  • 表级约束只能在列定义后声明

2.主键、外键、非空、唯一、check,default都是约束条件。主键、外键、既可以作为表级约束,也可作为列级约束
而像非空、唯一等( not null, default )只有列级约束

9,一些对表的操作

SHOW COLUMNS FROM <表名>;//显示表内的各行
SELECT * FROM <表名>;//显示表内部的内容

ALTER TABLE <旧表名> RENAME <新表名>;//修改表的名字
ALTER TABLE <表名>MODIFY <字段名> <数据类型>;//修改字段的数据类型
ALTER TABLE <表名>MODIFY <字段名> <数据类型> FIRST;//修改字段为第一个
ALTER TABLE <表名> CHANGE<旧字段名> <新的字段名> <数据类型>;//修改字段的名字
ALTER TABLE <表名> ADD <添加的字段> <数据类型>;//添加字段
ALTER TABLE <表名>ADD <添加的字段> <数据类型> AFTER <字段名>;
ALTER TABLE <表名> DROP <要删除的字段>;//删除指定字段
ALTER TABLE <表名> ENGINE =<更改后的存储引擎>;
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名称>; //删除表的外键约束

UPDATE <表名> SET

10,常见运算符

mysql> INSERT INTO tmp1 VALUE(64);
mysql> SELECT num,num+10,num-3+5,num+5-3,num+36.5 FROM tmp1;
+——+——–+———+———+———-+
| num | num+10 | num-3+5 | num+5-3 | num+36.5 |
+——+——–+———+———+———-+
| 64 | 74 | 66 | 66 | 100.5 |
+——+——–+———+———+———-+

比较运算符

=,<=>,<>(!=),<=,>=,>
IS NULL
ISNULL() 判断一个值是否为NULL
IS NOT NUILL 判断一个只是否是非空
LEAST 再有两个或者多个参数时候,返回最小的那个
GREATEST 返回最大值
BETWEEN AND 判断是否在两个数之间:4BETWEEN 2 AND 6
IN 判断一个值是否是IN列表中的任意一个值
NOT IN
LIKE 通配符匹配,’%’:匹配任意数字的字符,甚至包括零字符,‘_’:只匹配一个字符
REGESP 正则表达式匹配,‘^’匹配以该字符后面字符开头的字符串,’$’:匹配以该字符后面的字符结尾的字符串,’.’:匹配任意一个单字符,[….]:匹配在方括号内的任何字符,‘*’:匹配任何数字量的字符

11-查询相关操作

11.1 除了查询结果加where条件外 还可以对其分组:

查询结果分组:
[group by{col_name|position} [ASC|DESC],…]
select * from users group by sex;
select * from users group by 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,也就是会按照字段进行分组)
ASC 升序默认 desc 降序
可以有多个分组,用“,”隔开
order by

11.2 对查询结果进行排序,默认是升序

order by{col_name}
select * from users order by id desc; //对一个字段排序
select * from users order by age,id desc; //两个字段同时排序
desc是降序

  • 对查询结果进行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],…]elect * from user order by id desc;
  • 可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。
  • 如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序

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

相关文章

angular input_管理Angular中的嵌套和动态表单

原文链接原作者:Jennifer Wadella译者:尊重Angular 响应式表单借助其强壮的 API 向开发者提供了强大的开发能力&#xff0c;但相比于模板驱动表单&#xff0c;响应式表单的学习曲线也更加陡峭。在本文中&#xff0c;我们将了解什么是 Angular 的表单元素&#xff0c;如何将表单…

Hibernate阶段总结(1)

阶段总结 这个周学习了Hibernate的入门知识&#xff0c;了解了ORM(ObjectRelationshipMap)的概念&#xff0c;以及hibernate的配置&#xff0c;数据库的链接&#xff0c;Junit的单元测试&#xff0c;增删改查的单表操作。 ORM 对象关系映射&#xff0c;使用不同类型数据库进…

java mvc返回js_MVC初体验

写在前面相信刚开始自学前端的同学一定经常听到 MVC 这个名词&#xff0c;是不是听上去觉得很高大上&#xff0c;很难懂的样子。。。没错&#xff0c;MVC是很高大上&#xff0c;但是并没有你想象的那么难懂。今天就带大家简单了解一下什么是MVC&#xff0c;以及MVC在实际开发中…

网络激光打印机自动打印乱码_最值得买的激光打印机推荐-最佳个人家用激光打印机排行榜【2020年10月】...

现在打印机在家庭中的使用频率较高&#xff0c;因为学生在家学习、上班族在家办公都需要用到它&#xff0c;所以家用打印机逐渐普及开来。而对于一些人来说&#xff0c;他们在面对市场上数不胜数的打印机产品时&#xff0c;都不知道该如何选择&#xff0c;也不清楚家用激光打印…

MySQL笔记-2-函数,存储引擎,管理工具

系统函数 字符函数 CONCAT()使用方法&#xff1a; 1、SELECT CONCAT(‘字符1’&#xff0c;’字符2’,’字符N’,…); 2、SELECT CONCAT(字段1,字段2,…) AS 别名 FROM 表名&#xff1b; CONCAT_WS()使用方法&#xff1a; 1、SELECT CONCAT_WS(‘分隔符’,’字符1’,’字…

python3.6 messagebox_如何在Tkinter(Python3.6)中成功登录后显示主窗口

下面的代码可用于获得所需的效果&#xff0c;并对其进行了注释&#xff0c;以显示每一步所发生的情况&#xff1a;from tkinter import * #Imports Tkinterimport sys #Imports sys, used to end the program laterrootTk() #Declares root as the tkinter main windowtop Top…

Eclipse 中 package,source folder,folder区别及相互转换

博客原文链接 转载&#xff1a; 下面参考了其他博客, 自己写下加深印象&#xff1a; 在eclipse下,package,source folder,folder都是文件夹. 它们的区别如下: package: 当你在建立一个package时,它自动建立到source folder下,也只能建立在这个目录之下. sourc…

python会计学_学点Python,能让你的求职简历更有含金量

Python在信息搜集和数据分析方面的应用已经非常普遍&#xff0c;早就不是程序员的专属技能了。因为会编程&#xff0c;而在职场上拥有的“高光时刻”越来越多&#xff0c;编程已经几乎变成了职场的必备技能。01 做行政很多公司已经用Python自动形成考勤表&#xff0c;完成资产盘…