docke
作者:互联网
表
创建表
- 查看创建表时所用的语法
1.1. MariaDB [(none)]> HELP CREATE TABLE;
- 创建数据库
2.1. MariaDB [(none)]> CREATE DATABASE testdb;
2.1.1. 切进表
2.1.1.1. MariaDB [(none)]> use testdb;
- 在testdb中创建表
3.1. MariaDB [testdb]> CREATE TABLE xueyuan (id int UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, age tinyint UNSIGNED);
3.1.1. 创建xueyuan这个表
3.1.2. 第一字段id,int为整数型占用4个字节无符号最大值为2147483647有符号最小值为-214783648,UNSIGNED表示使用无符号只能跟在数值类型后面,NOT NULL表示值不能为空,PRIMARY KEY表示id这字段为主键搜索id就可以找到这个字段定义的所有信息。
3.1.3. 第二字段name,VARCHAR(20)表示可变长度定义最大存储20字节,20字节一下的随存储字节大小,NOT NULL不能为空。
3.1.4. 第三字段age,tinyint整数型占用1个字节无符号最大值为127有符号最小值为-128,UNSIGNED表示使用无符号,只能跟在数值类型后面
3.1.4.1. 显示xueyuan表结构,使用DESC
3.1.4.1.1.
3.2. MariaDB [testdb]> CREATE TABLE xueyuan2 (id int UNSIGNED NOT NULL, name VARCHAR(20) NOT NULL, age tinyint UNSIGNED, PRIMARY KEY(id,name));
3.2.1.
3.2.2. 创建xueyuan2这个表
3.2.3. 定义字段于xueyuan这个表相同,最后主键约束不同,PRIMARY KEY(id,name)表示将id和name这个两个字段组合起来作为主键
3.2.3.1. 显示xueyuan2表结构,使用DESC
3.2.3.1.1.
- 查看创建表时的命令
4.1. MariaDB [testdb]> SHOW CREATE TABLE xueyuan;
4.1.1.
- 查看表的状态
5.1. MariaDB [testdb]> SHOW TABLE STATUS LIKE 'xueyuan'\G
5.1.1.
5.1.2. STATUS表示查看表状态
5.1.3. LIKE表示模糊匹配(像)
5.1.4. \G表示已竖状显示
5.1.4.1. Name: xueyuan
5.1.4.1.1. 表名
5.1.4.2. Engine: InnoDB
5.1.4.2.1. 存储引擎类型
5.1.4.3. Version: 10
5.1.4.3.1. 版本
5.1.4.4. Row_format: Compact
5.1.4.4.1. Row_format行格式使用的紧凑Compact
5.1.4.5. Rows: 0
5.1.4.5.1. 现在行里没有一行数据
5.1.4.6. Avg_row_length: 0
5.1.4.6.1. 平均行长度为0
5.1.4.7. Data_length: 16384
5.1.4.7.1. 数据长度16384
删除表
- MariaDB [testdb]> DROP TABLE tal1;
1.1.
修改表
- 查看帮助信息
1.1. MariaDB [testdb]> HELP ALTER TABLE;
- 添加
2.1. 添加一个字段 ADD
2.1.1. MariaDB [testdb]> ALTER TABLE xueyuan ADD xingbie ENUM('m','f');
2.1.1.1.
2.1.1.2. 给xueyuan表中添加一个字段xingbie,ENUM('m','f')媒举类型,用于做限定字符,只能使用这两个。
2.2. 修改字段名称 CHANGE
2.2.1. MariaDB [testdb]> ALTER TABLE xueyuan CHANGE id sid int UNSIGNED NOT NULL;
2.2.1.1.
2.2.1.2. 修改xueyuan这个表,CHANGE修改字段id改为sid将这个字段的属性也要重新添加,主键不用定义
2.3. 修改字段的属性定义 MODDIFY
2.4. 删除字段的默认值(属性)
创建唯一约束
- MariaDB [testdb]> ALTER TABLE xueyuan ADD UNIQUE KEY(name);
1.1.
1.2.
创建和查看索引
- 创建索引
1.1. MariaDB [testdb]> ALTER TABLE xueyuan ADD INDEX(age);
1.1.1.
- 查看一个表中的索引
2.1. MariaDB [testdb]> SHOW INDEXES FROM xueyuan;
2.1.1.
删除索引
- MariaDB [testdb]> ALTER TABLE xueyuan DROP age;
1.1.
数据操作语句DML
表中插入数据 INSERT
- MariaDB [testdb]> INSERT INTO xueyuan VALUES(1,'yang guo','m'),(2,'guo xiang','f');
1.1.
- 或
- MariaDB [testdb]> INSERT INTO xueyuan (sid,name) VALUES (3,'zhang wu ji'),(4,'zhao mi');
3.1.
删除表中数据 DELETE
- MariaDB [testdb]> DELETE FROM xueyuan WHERE sid=3;
1.1.
1.2.
1.3. 删除xueyuan表中条件sid对于3的
更新(修改)表中数据UPDATE
- MariaDB [testdb]> UPDATE xueyuan SET xingbie='f' WHERE sid=4;
1.1.
1.2.
1.3. 修改xueyuan这个表,SET设置xingbie字段等于f,WHERE条件时sid为4的
查询表中数据SELECT
- MariaDB [testdb]> SELECT * FROM xueyuan;
1.1.
1.2. 从xueyaun这张表中查询*表示所有字段
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE sid<3;
2.1.
2.2. 查询xueyuan这张表中,WHERE条件sid小于3的
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE xingbie='m';
3.1.
3.2. 查询xueyaun这张表中,WHERE条件xingbie为m的,字符串需要引用起来
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE xingbie IS NULL;
4.1.
4.2. 查询xueyaun这张表中,WHERE条件IS NULL为空
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE xingbie IS NOT NULL;
5.1.
5.2. 查询xueyaun这张表中,WHERE条件IS NULL非空、
- MariaDB [testdb]> SELECT * FROM xueyuan ORDER BY name;
6.1.
6.2. 查询xueyaun这张表中,基于name字段名字首字母进行升序排序
- MariaDB [testdb]> SELECT * FROM xueyuan ORDER BY name DESC;
7.1.
7.2. 查询xueyaun这张表中,基于name字段名字首字母进行降序排序
- MariaDB [testdb]> SELECT * FROM xueyuan ORDER BY name DESC LIMIT 2;
8.1.
8.2. 查询xueyaun这张表中,基于name字段名字首字母进行降序排序,LIMIT 2表示只显示前两个
8.3. 或
8.4. MariaDB [testdb]> SELECT * FROM xueyuan ORDER BY name DESC LIMIT 1,2;
8.4.1.
8.5. 查询xueyaun这张表中,基于name字段名字首字母进行降序排序,LIMIT 1,2表示把第一个略过去显示两个
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE sid>=2 and sid<=4;
9.1.
9.2. 查询xueyaun这张表中,WHERE条件sid大于或等于2,或sid小于AND或等于4的;
9.3. 或
9.4. MariaDB [testdb]> SELECT * FROM xueyuan WHERE sid BETWEEN 2 AND 4;
9.4.1. 查询xueyaun这张表中,WHERE条件sidBETWEEN2AND或4之间
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE name LIKE 'Z%';
10.1.
10.2. 查询xueyaun这张表中,WHERE条件,name字段,LIKE表示模糊匹配,'Z%';Z开头%表示任意长度的任意字符;
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE name RLIKE '.*u.*';
11.1.
11.2. 查询xueyaun这张表中,WHERE条件,name字段,RLIKE表示做正则表达式模式匹配'.*u.*',.*表示任意长度的任意字符
- MariaDB [testdb]> SELECT * FROM xueyuan WHERE name RLIKE '.*[A-G]u.*';
12.1.
- MariaDB [testdb]> SELECT sid as stuid,name as stuname FROM xueyuan;
13.1.
13.2. 表示将sid改为别名stuid,将name改为别名stuname FROM从xueyuan这个表中
用户账号及权限管理
禁止检查主机名
- 禁止检查主机名:
1.1. my.cof,[mysqld]
1.1.1. skip_name_resolve = yes
创建用户并指定密码CREATE
- 创建用户并指定密码:
2.1. 简单创建用户账号
2.1.1. MariaDB [(none)]> CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wpp@ss';
2.1.1.1.
2.1.1.2. ‘%’表示所有主机
2.1.1.3. IDENTIFIED BY 表示授权密码
2.2. 创建并授权用户
2.2.1. MariaDB [mysql]> GRANT SELECT,DELETE ON testdb.* TO 'testuser'@'%' IDENTIFIED BY 'testpass';
2.2.1.1.
2.2.1.2. GRANT表示授权,SELECT(查询),DELETE(删除),testdb这数据路下的所有表,用户testuser所有登陆方式,密码testpass。
2.3. 查看此wpuser用户
2.3.1. MariaDB [mysql]> use mysql;
2.3.2. MariaDB [mysql]> SELECT host,user,password FROM user;
2.3.3.
3、删除用户DROP
- 删除用户
3.1. MariaDB [mysql]> DROP USER 'wpuser'@‘%’;
4、授权GRANT
- 1
5. 查看授权SHOW GRANTS FOR
5.1. MariaDB [mysql]> SHOW GRANTS FOR 'root'@'localhost';
5.2.
5.3. 查看当前用户授权
5.3.1. MariaDB [mysql]> SHOW GRANTS FOR CURRENT_USER;
5.3.2.
5.3.2.1. CURRENT_USER是函数表示当前用户可以CURRENT_USER()加上括号
5.4. 回收授权
5.4.1. MariaDB [mysql]> REVOKE DELETE ON testdb.* FROM'testuser'@'%';
5.4.1.1.
5.4.1.2. 回收DELETE删除权限,作用于testdb这个库下的所有表的,用户testuser
标签:5.1,name,xueyuan,testdb,MariaDB,WHERE,docke 来源: https://www.cnblogs.com/hao-ran/p/11442280.html