MySQL——数据库基础操作

基本操作命令

1、查看数据库列表信息

show databases;

MySQL> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.11 sec)

2、查看数据库中的数据表信息

(1)进入数据库
use mysql;
mysql> use mysql;
Database changed

(2)查看数据表

show tables;

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event         
......

3、显示表结构信息(字段)

describe user;

(1)其中PRI为主键(不能为空)
定义——确定表中唯一实体对象的标识
特点——唯一性、非空性
(2)其中Extra为约束条件

mysql> describe user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(30)                          | NO   | PRI |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |
......

4、创建数据库

create database named;

mysql> create database auth;
Query OK, 1 row affected (0.00 sec)

SQL语句

QL语言

创新互联-专业网站定制、快速模板网站建设、高性价比沧州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式沧州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖沧州地区。费用合理售后完善,10多年实体公司更值得信赖。

●是Structured Query Language的缩写,即结构化查询语言
●是关系型数据库的标准语言
●用于维护管理数据库,如数据查询、数据更新、访问控制、对象管理等功能

SQL分类

●DDL:数据定义语言
●DML:数据操纵语言
●DQL:数据查询语言
●DCL:数据控制语言

典型数据库索引算法---二分查找
定义:以一个数据为参考,比他小的放左边,比他大的放右边。

DDL操作命令

DDL语句用于创建数据库对象,如库、表、索引等

1.使用DDL语句新建库、表

创建数据库: creste databae 数据库名;

mysql> create database auth;
Query OK, 1 row affected (0.00 sec)

创建数据表:create table 表名 (字段定义……);

mysql> create table info(  
    -> ID int(4) not null,
    -> 姓名 varchar(8) not null,
    -> 住址 varchar(10) not null,
    -> 成绩 decimal default 0,  
    -> primary key (ID));
Query OK, 0 rows affected (0.01 sec)

mysql> desc info; 
+--------+---------------+------+-----+---------+-------+
| Field  | Type          | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| ID     | int(4)        | NO   | PRI | NULL    |       |
| 姓名   | varchar(8)    | NO   |     | NULL    |       |
| 住址   | varchar(10)   | NO   |     | NULL    |       |
| 成绩   | decimal(10,0) | YES  |     | 0       |       |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

2.使用DDL语句删除库、表

删除指定的数据表:drop table [数据库名.]表名
删除指定的数据库: drop database 数据库名

mysql> drop database auth;
Query OK, 0 rows affected (0.05 sec)

DML操作命令

DML语句用于对表中的数据进行管理
包括以下操作.
●insert:插入新数据
●update:更新原有数据
●delete:删除不需要的数据

1.向数据表中插入新的数据记录

insert into 表名(字段1,字段2, .....) values(字段1的值,字段的值, .....);

mysql> insert into info values (1,'周妹儿','南京',80);  
Query OK, 1 row affected (0.00 sec)

mysql> insert into info values (2,'张倩娣','南京',66);
Query OK, 1 row affected (0.00 sec)

mysql> insert into info values (3,'李向阳','上海',default);
Query OK, 1 row affected (0.02 sec)

2.修改、更新数据表P F的数据记录

update 表名 set 字段名1=值1[,字段名2=值2] where 条件表达式;

mysql> update info set 住址='南京'where ID=3;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0

3.在数据表中删除指定的数据记录

delete from 表名 where 条件表达式;
不带where条件的语句表示删除表中所有记录(谨慎操作);

#删除表中指定数据记录
mysql> delete from info where ID=2; 
Query OK, 1 row affected (0.02 sec)

#删除表
mysql> drop table info;    
Query OK, 0 rows affected (0.00 sec)

#删除库
mysql> drop database test;  
Query OK, 0 rows affected (0.00 sec)

DQL操作命令

DQL是数据查询语句,只有一条: SELECT
用于从数据表中查找符合条件的数据记录

1.查询时可不指定条件

selext 字段名1,字段名2..... from 表名;

mysql> select * from info;
+----+-----------+--------+--------+
| ID | 姓名      | 住址   | 成绩   |
+----+-----------+--------+--------+
|  1 | 周妹儿    | 南京   |     80 |
|  3 | 李向阳    | 南京   |      0 |
+----+-----------+--------+--------+
2 rows in set (0.00 sec)

2.查询时指定条件

select 字段名1,字段名2.... from 表名 where 条件表达式;

mysql> select 住址 from info where 住址='南京';
+--------+
| 住址   |
+--------+
| 南京   |
| 南京   |
+--------+
2 rows in set (0.04 sec)

DCL操作命令

1.设置用户权限(用户不存在时,则新建用户)

GRANT  权限列表   ON  数据库名.表名  TO  用户名@来源地址  [IDENTIFIED BY  '密码']

mysql>  grant all privileges on *.* to 'root'@'%' identified by 'abc123';
Query OK, 0 rows affected, 1 warning (0.08 sec)

2.查看用户的权限

SHOW GRANTS FOR 用户名@来源地址

mysql> show grants for 'root'@'%';
+-------------------------------------------------------------+
| Grants for root@%                                           |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
1 row in set (0.00 sec)

3.撤销用户的权限

REVOKE 权限列表  ON  数据库名.表名   FROM  用户名@来源地址

mysql> revoke all on *.* from 'root'@'%';
Query OK, 0 rows affected (0.00 sec)

文章题目:MySQL——数据库基础操作
分享路径:http://hbruida.cn/article/jopggo.html