mysql/mariadb 语法格式数据库关系--1

卸载mysql/mariadb
[root@1 local]# rm -rf /var/lib/mysql(删除mysql的数据库目录)
[root@1 local]# rm -r /etc/my.cnf (删除配置文件)

文件 说明
/etc/my.cnf 主配置文件
/var/lib/mysql 数据库目录
默认端口号 3306
进程名 mysqld
传输协议 TCP
进程所有者 mysql
进程所属组 mysql

mysql -h(主机地址) -u(用户名) -p(密码) (第一次会生成一个随机密码)

[root@1 mysql]# grep password /var/log/mysqld.log (查看日志中的第一次随机密码)
2018-05-23T02:31:58.688790Z 1 [Note] A temporary password is generated for root@localhost: kQa2vgk0.Uh7

退出linux mysql客户端:quit exit

修改/重置默认密码

mysql> set global validate_password_policy=0; (设置mysql密码规则为只验证长度,写入配置文件的话去掉set global)
Query OK, 0 rows affected (2.29 sec)

     validate_password_policy 验证密码策略

0 or LOW 长度
1 or MEDIUM(默认) 长度;数字,小写/大写,和特殊字符
2 or STRONG 长度;数字,小写/大写和特殊字符;字典文件

mysql> set global validate_password_length=5; (设置密码长度为5,写入配置文件的话去掉set global)
Query OK, 0 rows affected (0.00 sec)

mysql> alter user root@”localhost” identified by “12345”; (修改密码为12345)
Query OK, 0 rows affected (0.29 sec)

mysql> desc t1; (查看表结构)

mysql> insert into t1 values(“tanghui”,”18”),(“xiaoming”,”haha”); (同时插入多条记录)

mysql> select * from t1; (查看表里的所有数据)

mysql> update t1 set homeaddr=”guangzhou”; (批量更新数据)

mysql> delete from t1; (删除整个表的数据记录)

mysql> drop table t1; (删除整个表)

mysql> create database 学生库; (创建中文名的数据库)

mysql> create temporary table tanghui11(id int);(temporary可以创建临时表)

mysql> show create table 学生表; (查看建表的语句)

mysql> ALTER TABLE 学生表 DEFAULT CHARSET=UTF8; (修改表的字符编码,可能有时候还是有异常,最好是建表的时候就指定字符集)

mysql> create table t2(name char(10))DEFAULT CHARSET=UTF8; (设置表的字符编码)

mysql> create table t2(level tinyint unsigned); (创建无符号的tinyint类型)

mysql常用命令
drop 删除数据库/数据表
select
查询数据
quit/exit 退出
Show databases;
显示已有的库
Use 库名; 切换库
Select database(); 显示当前所在的库
Create database 库名;
创建新库
Show tables; 显示已有的表
Drop database 库名; 删除库
Desc 表名; 查看表结构
Select * from 表名; 查看表记录
Drop table 表名; 删除表
Select * from 表名; 查看表记录
Insert into 表名 values(值表); 插入表记录
Update 表名 set 字段=值; 修改表记录
Delete from 表名; 删除表记录
desc 表名
查看表结构
unsigned 设置无符号类型
zerofill 用0来补位(数值类型)

mysql数据类型
类 型 大 小 范围(有符号)
范围(无符号) 用 途
TINYINT 1字节 -128~127 0 ~ 255 微小整数
SMALLINT 2字节 -32768~32767 0 ~ 65535 小整数
MEDIUMINT 3字节 -2的 23 ~ 2 的23 -1 0 ~ 2的24 -1 中整数
INT 4字节 -2的 31 ~ 2的31 -1 0 ~ 2的32 -1 大整数
BIGINT 8字节 -2 的63 ~ 2 的63 -1 0 ~ 2的64 -1 极大整数
FLOAT 4字节 -2的 31 ~ 2的31 -1 0 ~ 2的32 -1 单精度浮点数
DOUBLE 8字节 -2 的63 ~ 2 的63 -1 0 ~ 2的64 -1 双精度浮点数
DECIMAL
对DECIMAL(M,D),其中M为有效位数、D为小
数位数,M应大于D,占用M+2字节

mysql> create table t26( id int(5) zerofill, age int(4) zerofill, level int zerofill); (位数不够默认用空格补,zerofill 用0来补位)

数值类型的位数 只是用来显示的,决定 储存大小的依然是数据类型!

时间函数
类型 用途
now() 获取系统当前日期和时间
year() 执行时动态获得系统日期时间
sleep(N) 休眠N秒
curdate() 获取当前的系统日期
curtime() 获取当前的系统时刻
month() 获取指定时间中的月份
date() 获取指定时间中的日期
time() 获取指定时间中的时刻

mysql> insert into t14 values(“bob”,21,20180630(date类型),083000(time类型),1997(year类型),20180628203028(datetime类型)); (语法格式)
Query OK, 1 row affected (0.04 sec)
+——+——+————+———-+——–+———————+
| name | age | birthday | up_time | y_star | party |
+——+——+————+———-+——–+———————+
| bob | 21 | 2018-06-30 | 08:30:00 | 1997 | 2018-06-28 20:30:28 |
+——+——+————+———-+——–+———————+

                                       字符串类型

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535|2 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

字符串类型的位数,可以直接决定能够储存的大小

char:不够指定字符数时在右边用空格补齐,定长类型

枚举类型
从给定值集合中选择单个值,ENUM
定义格式:enum(值1, 值2, 值N)

从给定值集合中选择一个或多个值,SET
定义格式:set(值1, 值2, 值N)

mysql> create table t15( name char(15), sex enum(“boy”,”girl”,”no”), likes set(“woman”,”game”,”film”,”it”) );

mysql> desc t15; (查看表结构)
+——-+———————————+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——-+———————————+——+—–+———+——-+
| name | char(15) | YES | | NULL | |
| sex | enum(‘boy’,’girl’,’no’) | YES | | NULL | |
| likes | set(‘woman’,’game’,’film’,’it’) | YES | | NULL | |
+——-+———————————+——+—–+———+——-+

mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data (免安装,安装方法)

cp support-files/mysql.server /etc/init.d/mysql(启用service mysql start/stop开关mysql)

[root@2 local]# service mysql start (启动mysql)

vim /etc/my.cnf

详情请访问:https://blog.csdn.net/leqiwen/article/details/77262242

猜你喜欢

转载自blog.csdn.net/weixin_42796092/article/details/81241130
今日推荐