一.基础知识
1.SQL(Structured Query Language)结构化查询语言分类:
DDL | 数据定义语言 | 用来定义数据库对象:数据库、表、字段 |
DML | 数据操作语言 | 对数据库进行增删改查 |
DQL | 数据查询语言 | 查询数据库中表的信息 |
DCL | 数据控制语言 | 用来创建数据库用户,控制数据库的访问权限 |
2.DDL操作
说明:[]号中的是可选项,并非一定要写的
<1>数据库创建和查询:
/*创建数据库*/
CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT CHARSET 编码格式] [COLLATE 排序规则];SHOW DATABASES;--查看所有数据库
SELECT DATABASE();--查看当前数据库DROP DATABASE [IF EXISTS] 数据库名称;--删除数据库USE 数据库名称;--切换使用数据库
<2>表创建和查询:
--创建表
CREATE TABLE 表名(
列名1 类型 [comment '注释'],
列名2 类型,
列名3 类型,
......
);SHOW TABLES;--查询当前数据库的所有表DESC 表名;--查询表结构SHOW CREATE TABLE 表名;--查询指定表的建表语句
<3> 表中字段的类型:
摘自黑马程序员视频:
类比:
二.创建空表
1.使用文档创建
首先我们先在笔记本中创建一个没有使用过的表,名字叫my_database
CREATE DATABASE IF NOT EXISTS my_database;
USE my_database;
CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) DEFAULT NULL,password VARCHAR(50) DEFAULT NULL
);
2.在命令行中打开mysql直接创建(--单行注释,/**/多行注释)
mysql -u root -p
password:******
mysql> CREATE DATABASE IF NOT EXISTS my_database;
Query OK, 1 row affected (0.01 sec)--表示成功SHOW DATABASES;--查看添加的数据库mysql> use my_database;
Database changed--数据库已经更换mysql> CREATE TABLE user(-> id INT AUTO_INCREMENT PRIMARY KEY,-> username VARCHAR(50) DEFAULT NULL,-> password VARCHAR(50) DEFAULT NULL-> );
Query OK, 0 rows affected (0.03 sec)mysql> SELECT * FROM user;--查看存的数据
Empty set (0.01 sec)--现在为空
三.查看表的基本信息(DOS)
要查看新创建的表,可以使用以下命令在命令行窗口中查看:
-
首先登录到 MySQL 命令行
这里将绝对路径放下面是直接执行文档中的sql指令(对应上面):mysql -u root -p <C:\Users\muyuan\Desktop\text.sql
-
输入密码后,选择创建表的数据库(如果不是默认选择的数据库):
USE my_database;
-
使用以下命令查看数据库中的表:
SHOW TABLES;
这将列出选定数据库中的所有表。如果看到了创建的
user
表,则表明该表已成功创建。 -
要查看表的结构(列和其属性),可以使用以下命令:
DESCRIBE user;
这将显示
user
表的列及其相关属性,如数据类型、是否允许为空等,并不是查看表中的数据(标题三有提到) -
查看如下:
三.对表的操作:(SQL)
1.插入数据:
当我们执行了上面的USE my_database;后,我们可以对这个表中的数据进行操作了,下面我们向表中插入一行数据
INSERT INTO user (id, username, password) VALUES (123, 'xiaoli', '456');
2.查看数据:
插入完成后,我们可以查看一下是否有这个人
SELECT * FROM user;
执行后:
这里验证了插入操作是可行的!
然后我们再次往里面添加元素,添加后:
3.排序:
首先我们可以先试着对id进行排序,这里我们添加的时候是顺序添加的,所以排序来个逆序吧
SELECT * FROM user ORDER BY id DESC;//DESC表示逆序,大->小
排序如下:
说明:这种排序是不会将原始的表中数据打乱重新按id顺序排列的,只不过是我们使用了一个排序条件让表中的数据按顺序排列出来了,让我们更好的观察和分析数据而已。
NO.49
持续更新中......