首页 > 数据库 >SQL实战准备(一)

SQL实战准备(一)

时间:2024-04-29 22:11:50浏览次数:18  
标签:实战 utf8mb4 -- 字符集 数据库 mysql Bytes SQL 准备

1. 连接 MySQL

输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(安装的时候手动设置的),再回车,就连接上 MySQL 了。

mysql -u root -p

2. mysql创建用户并且设置只读权限

-- 首先查看mysql中所有的用户
SELECT user,host FROM mysql.user;  

-- 查看指定用户的权限情况
SELECT * FROM mysql.user WHERE user='root'  

-- 创建一个用户
CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; 
  
-- 给用户赋予只读权限
-- 数据库名.* (代表只读那个数据库.后的是表只读那个表*代表所有表)
GRANT SELECT ON 数据库名.* TO '用户名'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

3. 查看数据库

-- 查看当前安装的 MySQL 中有哪些数据库。
-- 刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。
show databases;

4. 常用的字符集和排序规则:

字符集:

utf8mb4:支持最广泛的Unicode字符集,可存储任何国家的文字
utf8:是utf8mb4的子集,支持大部分Unicode字符,但不支持一些较新的字符
latin1:支持欧洲语言字符集,但不支持亚洲语言字符集

排序规则:

utf8mb4_general_ci:基于Unicode字符的一般排序规则,不区分大小写,但不区分重音符号和不同的字符变体
utf8mb4_unicode_ci:基于Unicode字符的排序规则,不区分大小写,但考虑重音符号和不同的字符变体
utf8mb4_bin:基于二进制的排序规则,区分大小写和字符编码,不考虑字符的语言或国家

当创建MySQL表时,可以选择使用哪种字符集和排序规则。例如,使用以下命令创建一个表,将其字符集设置为utf8mb4,排序规则设置为utf8mb4_unicode_ci:

CREATE TABLE my_table (
column1 VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
column2 VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);

5. 创建/删除/选择数据库

方法一:navicat直接图像化创建

方法二:用语句

-- 创建数据库
CREATE DATABASE mydatabase
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_general_ci;
-- 删除数据库,如果存在的话
DROP DATABASE IF EXISTS RUNOOB;

-- 选择数据库
USE database_name;

-- 一开始就选择数据库
mysql -u your_username -p -D your_database

6. mysql的数据类型

 

类型大小范围(有符号)范围(无符号)用途
TINYINT 1 Bytes (-128,127) (0,255) 小整数值
SMALLINT 2 Bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 Bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 Bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8 Bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

 

 

 

标签:实战,utf8mb4,--,字符集,数据库,mysql,Bytes,SQL,准备
From: https://www.cnblogs.com/blackforest/p/18166318

相关文章

  • 【教程】Homebrew安装MySQL 8 & 设置root密码
    ✨Homebrew安装MySQL8brewinstallmysql==>CaveatsWe'veinstalledyourMySQLdatabasewithoutarootpassword.Tosecureitrun:mysql_secure_installationMySQLisconfiguredtoonlyallowconnectionsfromlocalhostbydefaultToconnectr......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第11章 触发器 读书笔记
     第11章触发器>.概述触发器是一种特殊类型的存储过程.当指定表中的数据发生变化时触发器自动生效.它与表紧密相连,可以看作表定义的一部分.触发器不能通过名称被直接调用,更不允许设置参数.在SQLSERVER中,一张表可以有多个触发器.用户可以使用INS......
  • 深入理解Python多进程:从基础到实战
    title:深入理解Python多进程:从基础到实战date:2024/4/2920:49:41updated:2024/4/2920:49:41categories:后端开发tags:并发编程多进程管理错误处理资源调度性能优化异步编程Python并发库引言在Python编程中,多进程是一种重要的并发编程方式,可以让我们充分......
  • springboot连接sqlserver2008r2 驱动版本问题。
    <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>8.2.2.jre8</version></dependency>版本比较常见的:8.4.1.jre8最新的提示:9......
  • Mysql启动报错:Job for mysqld.service failed because the control process exited wi
      该方法会删除mysql数据,慎用centos7上使用yum安装mysql后,启动报错[root@localhost~]#systemctlstartmysqldJobformysqld.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusmysqld.service"and"journalctl-xe"for......
  • SQL注入
    sql注入一、sql注入解题技巧1.解题流程提示:先找到回显点,如果有回显按照如下步骤获取信息①找字段数②查库名③查表名④查字段⑤查内容--查版本and1=2unionselect1,version()#原理:and1=2显然不成立,则不会执行页面的正常select语句,这时再使用联合查询,页面就只会执......
  • Mysql锁机制与优化实践以及MVCC底层原理剖析
    学习来源-图灵课堂https://vip.tulingxueyuan.cn锁学习参考:https://juejin.cn/post/7307889500545253395  锁机制为了保证数据的一致性,当访问共享变量的时候我们可以针对共享数据加锁,但是加锁要时要注意加锁的成本,还有加锁的粒度,还有就是是否会发生死锁,还有就是发生了死锁......
  • 3分钟部署mysql并开启binlog
    curl-fsSLhttps://get.docker.com|bashyum-yinstalldocker-cesudosystemctlstartdockersudosystemctlenabledockermysql快速安装sudodockerpullmysqlmkdir-p/opt/module/mysql/conf/opt/module/mysql/data/opt/module/mysql/conf/config.d/touch/opt......
  • 线上问题排查实战
    1,线上CPU突然升高1.1使用top命令查看当前机器的cpu占比,进入top后,输入大写的P,进程按照CPU从高到底排序1.2使用top-HpPID使用top-Hppid查看当前进程下的所有线程使用cpu情况前面的pid为当前线程号1.3将线程号转十六进制使用printf'%x\n'线程号看到当前线程......
  • java 数据库编程(一)JDBC连接Sql Server数据库
    java数据库编程(一)JDBC连接SqlServer数据库一、JDBC简介java数据库连接技术(JavaDatabaseConnection,JDBC)是由java提供的一组与平台无关的数据库的操作标准,其本身由一类与接口组成,并且在操作中将按照严格的顺序执行。由于数据库属于资源操作,所以所有的数据库操作的最后必......