数据库基本语法:
DDL:Data Defination Lanuage: 数据定义语言CREATE, ALTER, DROP
DML:Data Manapulate Language: 数据操作语言INSERT, REPLACE, UPDATE, DELETE
DCL:Data Control Language: 数据控制语言GRANT, REVOKE
常用命令:
mysql命令不区分大小写 这些是基本常识
DDL CREATEALTERDROP
DML 操纵语言INSERTUPDATEDELETE
DCL 控制语言GRANTREVOKE
第一篇 DDL 库和表 create alter drop
mysql> create database mydb;
Query OK, 1 row affected (0.01 sec)
mysql> use mydb;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table students (id char(20),name char(20),age char(10),score char(10)); 建表并添加4个字段和字段的类型
Query OK, 0 rows affected (0.10 sec)
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students       |
+----------------+
1 row in set (0.00 sec)
mysql> create table teachers as select * from students; 建立教师表,字段同学生表
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students       |
| teachers       |
+----------------+
2 rows in set (0.00 sec)
mysql> desc students;
mysql> desc teachers;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | char(20) | YES  |     | NULL    |       |
| name  | char(20) | YES  |     | NULL    |       |
| age   | char(10) | YES  |     | NULL    |       |
| score | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
mysql> alter table teachers add subject varchar(100); 添加字段
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | char(20)     | YES  |     | NULL    |       |
| name    | char(20)     | YES  |     | NULL    |       |
| age     | char(10)     | YES  |     | NULL    |       |
| score   | char(10)     | YES  |     | NULL    |       |
| subject | varchar(100) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
mysql> alter table teachers drop score; 删除字段
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | char(20)     | YES  |     | NULL    |       |
| name    | char(20)     | YES  |     | NULL    |       |
| age     | char(10)     | YES  |     | NULL    |       |
| subject | varchar(100) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
mysql> alter table teachers change id teacherid char(30); 修改字段名,用change
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| teacherid | char(30)     | YES  |     | NULL    |       |
| name      | char(20)     | YES  |     | NULL    |       |
| age       | char(10)     | YES  |     | NULL    |       |
| subject   | varchar(100) | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
mysql> alter table teachers modify teacherid varchar(5); 修改字段属性,用modify
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| teacherid | varchar(5)   | YES  |     | NULL    |       |
| name      | char(20)     | YES  |     | NULL    |       |
| age       | char(10)     | YES  |     | NULL    |       |
| subject   | varchar(100) | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
mysql> drop table teachers; 删除表,drop table table_name
Query OK, 0 rows affected (0.00 sec)
总结1:查看库中的表:SHOW TABLES FROM db_name;查看表的结构:DESC tb_name;删除表:DROP TABLE tb_name;
修改表:ALTER TABLE tb_nameMODIFY 改字段属性CHANGE 改字段名称ADD 添加字段DROP 删除字段
help create table获取帮助 help alter table
第二篇 DML 数据修改 insert update delete ; select
mysql> insert into students (id,name,age,score) value('1','wxtan','18','99'),('2','yull','17','80');  增加表内数据,insert into
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 18   | 99    |
| 2    | yull  | 17   | 80    |
+------+-------+------+-------+
mysql> insert into students value('3','AA','30','60');  (如果全部字段都添加可以不用写)
Query OK, 1 row affected (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 18   | 99    |
| 2    | yull  | 17   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
mysql> update students set age=14 where id=1; 修改表内数据,update table_name
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 17   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
3 rows in set (0.00 sec)
mysql> update students set age='28' where name='yull'; 修改表内数据,update table_name
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
3 rows in set (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
| 5    | bb    | 44   | 55    |
| 6    | cc    | 44   | 60    |
+------+-------+------+-------+
4 rows in set (0.00 sec)
mysql> delete from students where age='44'; 删除表内数据,delete from
Query OK, 2 rows affected (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
+------+-------+------+-------+
mysql> delete from students where age='14' or score='80'; 可以用or and等条件表达式
Query OK, 2 rows affected (0.00 sec)
mysql> select * from students;
Empty set (0.00 sec)
mysql> select * from students; 数据查询,select from
+------+--------+------+-------+
| id   | name   | age  | score |
+------+--------+------+-------+
| 1    | apple  | 20   | 88    |
| 3    | xigua  | 10   | 50    |
| 2    | banana | 30   | 68    |
+------+--------+------+-------+
3 rows in set (0.00 sec)
mysql> select id,name from students;
+------+--------+
| id   | name   |
+------+--------+
| 1    | apple  |
| 3    | xigua  |
| 2    | banana |
+------+--------+
3 rows in set (0.00 sec)
mysql> select id,name from students where age=20;
+------+-------+
| id   | name  |
+------+-------+
| 1    | apple |
+------+-------+
1 row in set (0.00 sec)
第三篇 DCL 权限 grant revoke;show grants for
mysql> grant select,insert,update on mydb.students to 'wxtan2'@'192.168.8.%' identified by '123'; 给权限到某表,授予某账户(账户不存在则创建)
mysql> flush privileges; 刷新权限
[root@test mysql]# mysql -uwxtan2 -p123 -h192.168.8.104 从192.168.8.%进入数据库
Welcome to the MariaDB monitor.
MySQL [mydb]> select * from students;
+------+--------+------+-------+
| id   | name   | age  | score |
+------+--------+------+-------+
| 1    | apple  | 20   | 88    |
| 3    | xigua  | 10   | 50    |
| 2    | banana | 30   | 68    |
+------+--------+------+-------+
3 rows in set (0.00 sec)
MySQL [mydb]> insert into students value('4','guapi','40','50'); 有insert权限
Query OK, 1 row affected (0.02 sec)
MySQL [mydb]> update students set name='apple222' where id='1'; 有update权限
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MySQL [mydb]> select * from students;
+------+----------+------+-------+
| id   | name     | age  | score |
+------+----------+------+-------+
| 1    | apple222 | 20   | 88    |
| 3    | xigua    | 10   | 50    |
| 2    | banana   | 30   | 68    |
| 4    | guapi    | 40   | 50    |
+------+----------+------+-------+
4 rows in set (0.00 sec)
MySQL [mydb]> delete from students where name='banana'; 没有delete权限
ERROR 1142 (42000): DELETE command denied to user 'wxtan2'@'192.168.8.101' for table 'students'
mysql> revoke update on mydb.students from 'wxtan2'@'192.168.8.%'; 回收update权限
mysql> flush privileges;
MySQL [mydb]> update students set name='apple545' where id='1'; 发现无法执行update命令
ERROR 1142 (42000): UPDATE command denied to user 'wxtan2'@'192.168.8.101' for table 'students'
MySQL [mydb]> insert into students value('6','guapi','40','50'); insert命令不受影响
Query OK, 1 row affected (0.00 sec)
MySQL [mydb]> select * from students; select命令不受影响
+------+----------+------+-------+
| id   | name     | age  | score |
+------+----------+------+-------+
| 1    | apple555 | 20   | 88    |
| 3    | xigua    | 10   | 50    |
| 2    | banana   | 30   | 68    |
| 4    | guapi    | 40   | 50    |
| 6    | guapi    | 40   | 50    |
+------+----------+------+-------+
mysql> show grants for 'wxtan2'@'192.168.8.%'; 查询用户的权限命令;usage表示只有使用权
+-----------------------------------------------------------------------------------------------------------------+
| Grants for wxtan2@192.168.8.%                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wxtan2'@'192.168.8.%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
| GRANT SELECT, INSERT ON `mydb`.`students` TO 'wxtan2'@'192.168.8.%'                                             |
+-----------------------------------------------------------------------------------------------------------------+
mysql> grant all privileges on mydb.students to 'wxtan2'@'192.168.8.%' identified by '123456'; 给所有权限,并修改密码
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
第四篇 修改数据库默认密码
/etc/init.d/mysql stop   (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql;
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit
CTRL+Z 终止进程
[root@apple ~]# jobs
[1]+  Stopped                 mysqld_safe --skip-grant-tables
[root@apple ~]# kill %1
[root@apple ~]# service mysqld start
Starting MySQL SUCCESS!
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

转载于:https://blog.51cto.com/wxtan/1955822

Mysql 基础语法相关推荐

  1. MYSQL基础语法的使用

    喜欢的朋友可以关注下,粉丝也缺. MYSQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之 ...

  2. MySQL基础语法大全(尚硅谷)

    文章目录 一.为什么要学数据库 二.数据库的相关概念 DBMS DB SQL 数据库的好处 数据库相关概念 三.数据库存储数据的特点 四.初识MySQL 1.MySQL产品的介绍和安装 2.MySQL ...

  3. MySql基础语法-java学习

    MySQL 目录结构 MySQL 的目录结构 描述 bin<目录> 所有 mysql 的可执行文件,如:mysql.exe MySQLInstanceConfig.exe 数据库的配置向导 ...

  4. MySQL基础语法与JDBC

    文章目录 前言 (一)什么是SQL (二)什么是MySQL (三)MySQL的体系结构 ①连接层 ②服务层 ③可插拔存储引擎层 ④存储层 (四)MySQL的启动.停止.连接 一.基础知识 (一)基本术 ...

  5. MySQL基础语法总结

    MySQL基本语法 注:使用到的数据库表在文章末尾 文章目录 MySQL基本语法 基础查询 条件查询 排序查询 常见函数 分组查询 连接查询 基础查询补充 子查询 分页查询 联合查询 查询总结 插入 ...

  6. Mysql 基础语法应用

    第一章 MySQL基础介绍 1.数据库的基本概念数据库: DataBase 简称 DB作用: 用于永久性存储和管理数据的仓库 2.常见的数据库A.MySQL 简单的免费的数据库 ---> 现在学 ...

  7. MySQL基础语法(详细版)

    文章目录 1.数据库的介绍 1.1 数据库概念 1.1.1 数据的存储方式 1.1.2 什么是数据库 2.数据库的安装与卸载 2.1数据库的安装 2.2数据库的卸载 3.数据库服务的启动与登录 3.1 ...

  8. mysql基础语法之(全文索引)

    1.概要 InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引.对于FULLTEXT索引的内容可以使用MATCH()-AGAIN ...

  9. java:mysql基础语法

    一,基础操作 1,创建表 CREATE TABLE `customers` ( //设置customers_id为整数并为自增长`customers_id` INT(11) PRIMARY KEY A ...

最新文章

  1. php脏在哪里,逍遥游户外联盟-人身上最“脏”的地方是哪里?3个地方,建议经常清洗 -...
  2. 二值mask图像 + RGB原图 生成可视化分割结果; 从二值mask获取分割轮廓点
  3. 二十三、Java类中重载和重写的区别
  4. 蓝湖怎么切图标注_【蓝湖指北】你真的会切图吗?
  5. 计算机精英协会考核题 —— 第一题:厄密多项式
  6. 《计算机网络》谢希仁第五版考试重点整理
  7. gtest 测试部分_全部关于测试–第2部分
  8. SQL - server 数据库基础知识
  9. 《数据结构》C++代码 堆(优先队列)
  10. 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验03 模块化程序设计(2021级)
  11. R软件中调用windows字体二
  12. word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
  13. lae界面开发工具入门之介绍十--如何打包资源文件?
  14. SVN同步时忽略特定文件或文件夹
  15. Java初学者快速上手之实战“套路”
  16. win10 企业版的激活命令
  17. 中国省市县数据库(201905统计局)+ 自关联查询
  18. DvaJS的Subscription的使用
  19. 利用注册表优化系统,减少开机时间
  20. 论文《A High Spatial Resolution Depth Sensing Method Based on Binocular Structured Light》学习

热门文章

  1. datatables 树形表格 java数据组装_实学:Java开发自己的博客系统-第三十篇(后台添加栏目功能-4)...
  2. 移动端前端月历日历_前端基础:必须要知道的移动端适配(2)——分辨率
  3. linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本
  4. markdown显示箭头方法
  5. Java8中String.join方法,让我们的代码更优美
  6. 书屋(三):《浪潮之巅》品各大百年公司兴衰历程
  7. 视频直接变漫画!GAN又有了新玩法 | Demo+代码+论文
  8. 姚期智院士亲自讲授,一文读懂量子计算
  9. 路人实拍Waymo无人车:行为诡异,谨慎到让人怀疑人生
  10. Emgu-WPF 激光雷达研究-移动物体跟踪2