數據庫模式定義語言並不是程序設計語言,DDL數據庫模式定義語言是SQL語言(結構化查詢語言)的組成部分。mysql
SQL語言包括:四種主要程序設計語言類別的語句:數據定義語言(DDL,Data Definition Language),數據操做語言(Data Manipulation Language, DML),數據控制語言(DCL)和事務控制語言(TCL)。sql
這裏主要介紹DDL和DML語言數據庫
常見的DDL和DML有:session
DDL{ CREATE DATABASE 建立數據庫,CREATE TABLE 建立數據庫表格,ALTER TABLE 修改數據庫表格,DROP TABLE刪除數據庫表格,CREATE VIEW 建立查詢命令,ALTER VIEW 修改查詢命令,DROP VIEW刪除查詢命令} 設計
DML{SELECT,INSERT,UPDATE,DELETE}orm
1.登陸數據庫:mysql -u root -p事務
例如:ip
sue@suepc:~/abc$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.19 MySQL Community Server (GPL)get
2.顯示當前全部數據庫:show databases;it
例如:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| abc |
| boss |
| eg |
| example |
| lxh |
| mysql |
| performance_schema |
| sys |
+--------------------+
9 rows in set (0.38 sec)
3.鏈接數據庫:use database(database爲數據庫名),如下使用的是abc數據庫;
例如:
mysql> use abc;
Database changed
4.查看當前鏈接的數據庫:select database();
例如:
mysql> select database();
+------------+
| database() |
+------------+
| abc |
+------------+
1 row in set (0.00 sec)
5.查看當前數據庫包含的表信息: show tables;(注意:最後有個s)
mysql> show tables;
+---------------------------+
| Tables_in_abc
+---------------------------+
| user |
+---------------------------+
1rows in set (0.00 sec)
6.刪除數據庫:drop database abc;刪除後查看數據庫是否存在:use abc;(下列例子數據庫不存在因此報錯)
例如:
mysql> drop database abc;
Query OK, 0 rows affected (0.36 sec)
mysql> use abc;
ERROR 1049 (42000): Unknown database 'abc'
7.下邊開始創建一個新的數據庫並進行增刪查改。注意:表操做,操做以前應鏈接某個數據庫。
例如:
/*新建一個名爲suedatabase的數據庫*/
mysql> create database sue_database;
Query OK, 1 row affected (0.04 sec)
/*鏈接數據庫*/
mysql> use sue_database;
Database changed
/*建表*/
mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),birth DATE, birthaddr VARCHAR(20));
Query OK, 0 rows affected (0.19 sec)
/*插入數據*/
/*Insert是DML語言,主要是插入數據*/
/*Alter是DDL語言,主要是好比修改一些表結構,修改用戶等*/
mysql> insert into mytable value ('aaa','f','1985-11-6','us');
Query OK, 1 row affected (0.04 sec)
/*在表中增長字段:*/
mysql> alter table mytable add column num int(30)
-> ;
Query OK, 0 rows affected (0.46 sec)
Records: 0 Duplicates: 0 Warnings: 0
/*查看錶結構*/
mysql> desc mytable;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| birthaddr | varchar(20) | YES | | NULL | |
| num | int(30) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)
mysql> insert mytable value('abc','m',1991-11-12,'jp',50);
ERROR 1292 (22007): Incorrect date value: '1968' for column 'birth' at row 1
mysql> select * from mytable;
+------+------+------------+-----------+------+
| name | sex | birth | birthaddr | num |
+------+------+------------+-----------+------+
| aaa | f | 1985-11-06 | us | NULL |
+------+------+------------+-----------+------+
1 row in set (0.00 sec)
/*注意:「Insert 向數據庫表添加是數據行」,Alter 修改數據庫表屬性(如新增資料行)*/
/*DML語言update ,delete, select ,insert*/
/*更新字段內容*/
mysql> update mytable set num=50 where birth = "1985-11-06" ;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0
/*查看錶 mytable 中全部數據*/
mysql> select * from mytable;
+------+------+------------+-----------+------+
| name | sex | birth | birthaddr | num |
+------+------+------------+-----------+------+
| aaa | f | 1985-11-06 | us | 50 |
+------+------+------------+-----------+------+
1 row in set (0.00 sec)
8.導入數據庫abc.sql
例如:
方法1:
sue@suepc:~/abc$ mysqldump -u root -p 123456 abc < /home/sue/abc/abc.sql
Enter password:
-- MySQL dump 10.13 Distrib 5.7.19, for Linux (x86_64)
--
-- Host: localhost Database: 123456
-- ------------------------------------------------------
-- Server version 5.7.19
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.7.19 MySQL Community Server (GPL)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| abc |
+--------------------+
2 rows in set (0.12 sec)
方法二:
導入數據庫,經常使用source 命令進入mysql數據庫控制檯,
如mysql -u root -p
mysql>use 數據庫
而後使用source命令,後面參數爲腳本文件(如這裏用到的.sql)
mysql>source /home/sue/abc/defg.sql;
備份數據庫:sue@suepc:~$ mysqldump -u root -p sue_database > 123.sql (出錯)
mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Table 'performance_schema.session_variables' doesn't exist (1146)