数据库操作指南

1.安装

点击链接前往官网下载:https://dev.mysql.com/

2.创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

代码示例:

1 mysql> USE mysql;
2 Database changed
3 mysql> CREATE USER "lihy"@"localhost" IDENTIFIED BY "1234";
4 Query OK, 0 rows affected (0.05 sec)
3. 查看用户
SELECT user, host FROM mysql.user;
mysql> SELECT user,host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| henry            | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)
4.修改用户

4.1
修改密码

ALTER USER <用户名> IDENTIFIED  BY <新密码>;

实例

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "123";
Query OK, 0 rows affected (0.13 sec)

4.2
忘记密码 #Windows
\1. 进入mysql \bin目录
\2. 停止mysql服务

net stop mysql

\3. 跳过权限认证

mysqld --console --skip-grant-tables --shared-memory

\4. 重新打开一个终端登录mysql,不输入密码直接回车:

 mysql -u root -p

\5. 获取更改权限

flush privileges;

\6. 修改密码

ALTER USER "root"@"localhost" IDENTIFIED BY "密码";

\7. 关闭所有终端,再开启一个终端,启动服务,登录测试

net start mysql
mysql -u root -p
5.删除用户
DROP USER <用户名>;

示例

mysql> DROP USER "lihy"@"localhost";
Query OK, 0 rows affected (0.11 sec)
6.数据库操作

创建数据库:CREATE DATABASE <db_name>;
查看数据库:SHOW DATABASES [like ‘db_name’];
删除数据库:DROP DATABASE <db_name>;
使用数据库:USE <db_name>;

7.常用数据类型

整数:int
浮点数:float
日期:date
字符:char
文本:text

8.数据表操作

8.1
基本指令
创建表:CREATE TABLE <table_name> (属性名 数据类型 [约束]…);
查看表:SHOW TABLES;
查结构:DESC <table_name>;
查约束:SHOW CREATE TABLE <table_name>;
删除表:DROP TABLE <table_name>;
改表名:ALTER TABLE <table_name> rename <新表名>;
加字段:ALTER TABLE <table_name> ADD <新字段名> <数据类型> [约束] [first/after];
删字段:ALTER TABLE <table_name> DROP <字段名>;
改字段名:ALTER TABLE <table_name> CHANGE <旧字段名> <新字段名> <数据类型>;
改字段类型:ALTER TABLE <table_name> MODIFY <字段名> <数据类型>;

8.2
约束

PRIMARY KEY:主键
FOREIGN KEY:外键
NOT NULL:非空
UNIQUE:唯一
DEFAULT:默认值
CHECK:检查约束

示例

# 学生表
mysql> CREATE TABLE stus (
    -> num INT PRIMARY KEY NOT NULL,
    -> name VARCHAR(45) NOT NULL,
    -> gender VARCHAR(45) NOT NULL,
    -> national VARCHAR(45) NOT NULL,
    -> tel VARCHAR(45) NOT NULL
  	-> );
Query OK, 0 rows affected (0.05 sec)

# 成绩表
mysql> CREATE TABLE grades (
    -> num INT PRIMARY KEY NOT NULL,
    -> chinese FLOAT NOT NULL,
    -> math FLOAT NOT NULL,
    -> english FLOAT NOT NULL,
    -> liberal_arts FLOAT NOT NULL,
    -> science FLOAT NOT NULL,
    -> FOREIGN KEY(num) REFERENCES stus(num)
    -> );
Query OK, 0 rows affected (0.03 sec)
9.数据操作

9.1
插入数据

插入数据
# 1. 指定列名赋值数据
INSERT INTO <table_name> (column1, column2, ...) VALUES (value1, value2, ...)
# 2. 逐一赋值数据
INSERT INTO <table_name> VALUES (value1, value2, ...);
# 3. 设置多行数据
INSERT INTO <表名> VALUES (value1, value2, ...), (value1, value2, ...);

9.2
修改

UPDATE <表名> SET 列名=[WHERE 子句 ] [ORDER BY 子句] [LIMIT 子句]

9.3
删除

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

9.4
查询

# 1. 查询所有数据
SELECT * FROM heros;
# 2. 查询指定列的数据
SELECT name,skill... FROM heros;

9.5
去重

SELECT DISTINCT position FROM heros;

9.6
设置别名

SELECT name AS 英雄, skill AS 技能 FROM heros;

9.7
限制

 # 1. 前5行
 SELECT * FROM heros LIMIT 5;
 # 2. 从第2行开始查询5条数据(不包括第2行的数据)
 SELECT * FROM heros LIMIT 2,5;

9.8
排序

# 升序(默认)
SELECT * FROM <table_name> ORDER BY 列名 ASC; 
# 降序
SELECT * FROM <table_name> ORDER BY 列名 DESC; 

9.9
条件查询

# 1. 相等查询
SELECT * FROM heros WHERE id = 1;
# 2. 熟练度在5000~6000之间的英雄信息
SELECT * FROM heros WHERE proficiency BETWEEN 5000 AND 6000;
# 3. 多条件并列查询
SELECT * FROM heros WHERE location = '下路' AND position = '射手';
# 4. 查询空值
SELECT * FROM heros WHERE skill IS NULL;

9.10
数据过滤

# ‘AND’操作符:组合 WHERE 字句
SELECT * FROM heros WHERE position = '法师' AND proficiency >= 6000;
# ‘OR’操作符:匹配任一条件
SELECT * FROM heros WHERE position = '法师' OR proficiency >= 6000;
# ‘IN’操作符:指定条件范围,类似于‘OR’操作符
SELECT * FROM heros WHERE name IN ('上官婉儿', '孙悟空');
# ‘NOT’操作符:排除后续条件
SELECT * FROM heros WHERE name NOT ('上官婉儿', '孙悟空');

9.11
通配符

# 1. ’%‘ 匹配多个字符 ->查询姓李的数据
SELECT * FROM 表 WHERE name LIKE "李%";
# 2. ’_‘ 匹配一个字符 ->查询姓李的数据(名字只包括两个字)
SELECT * FROM 表 WHERE name LIKE "李_";

9.12
正则表达式

SELECT * FROM heros WHERE name REGEXP '^上官';
发布了22 篇原创文章 · 获赞 0 · 访问量 437
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览