一SQL语言分类
(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
==分类==四类
DDL(data definition language):
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML(data manipulation language):
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DQL(Data Query Language )数据查询语言 SELECT
DQL语句 数据库查询语言: 查询数据SELECT
DCL(Data Control Language):
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
==定义库==
1、创建业务数据库
语法:CREATE DATABASE 数据库名;
eg:CREATE DATABASE discuz;
数据库名要求:
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字和特殊符号“如-"
正常的:用拼音或单词即可。
2.查看所有数据库
myaql> SHOW DATABASES;
==选择/进入数据库==
mysql> USE 数据库名
mysql> SELECT database(); // 调用函数,查询当前库
==删除数据库==
mysql> DROP DATABASE 数据库名 ;
==在系统中的位置==
/var/lib/mysql/
数据库的实体 清理 备份
2.数据类型
==数值类型==
整数类型 int 默认12位数,其中一位正负号,加括号字定义
浮点数类型 float 小数
==字符串类型==
1.字符系列char和varchar
char的长度不可变。
varchar的长度可以增加。
2.枚举类型enum 单选 //enum(''a'',''b'')
3.集合类型set 多选
==时间和日期类型==
年 year
日期 DATE
时间 TIME
日期和时间 DATETIME
3.DDL-表
==创建目的==
表是数据库存储数据的基本单位,
表由若干个字段(列)组成,
主要用来存储数据记录(行)。
==操作数据库示例1==
创建1列的表格-序号
1.创库
mysql> create database haha;
2.使用(haha)库
mysql> use haha;
3.创表1
创建 表格 表名t1 (列名id 类型int ); //int整数类型,默认12位数
mysql> CREATE TABLE t1 (id int); //命令不分大小写
4.查看所有表名
mysql> show tables;
mysql> create database haha; 创库
Query OK, 1 row affected (0.00 sec)
mysql> use haha 进入数据库
Database changed
mysql> create table t1 (id int); 创表
Query OK, 0 rows affected (0.01 sec)
mysql> show tables; 查看所有表名
+----------------+
| Tables_in_haha |
+----------------+
| t1 |
+----------------+
1 row in set (0.00 sec)
mysql> insert into t1 values (11); 插入数据
Query OK, 1 row affected (0.12 sec)
5.插入数据
插入 到 表名t1 值 (1);
mysql> INSERT INTO t1 VALUES (1);
6.查询所有数据
查询 所有列 从 表名t1;
SELECT * FROM t1;
mysql> select * from t1查询 所有列 从 表名t1
-> ;
+------+
| id |
+------+
| 11 |
+------+
1 row in set (0.01 sec)
7.删除表
drop table t1;
mysql> drop table t1;删除表
Query OK, 0 rows affected (0.00 sec)
==操作数据库示例2==
1.创建两个列的表格-序号和姓名
创建 表格 表名t2 (第一列名id 数字类型, 第二列名name 字符类型(长度))
create table t2 (id int,name varchar(20));
2.查看表结构
desc t2; //描述 表t2
总结:
mysql> show tables; 查看表名
mysql> select * from t2; 看表中的内容
mysql> desc t2; 查看表结构
mysql> use haha
Database changed
mysql> create table t2 (id int, name varchar(20));创建 表格 表名t2
Query OK, 0 rows affected (0.01 sec)
mysql> desc t2;查看表结构
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
==操作数据库实例3==
1.创建表
要求:
创建库school
创建表student1
语法:create table 表名(字段名1 类型,字段名2 类型,字段名3 类型 );
示例:
mysql> CREATE DATABASE school; 创建数据库school
mysql> use school; 使用库
mysql> create table student1( id int, name varchar (20) , sex enum('m','f'), age int ); 创建一个表,四列
mysql> show tables;查表
+----------------+
| Tables_in_haha |
+----------------+
| t2 |
+----------------+
1 row in set (0.00 sec)
mysql> select * from t2;看表中的内容
Empty set (0.00 sec)
mysql> create database school;创建数据库
Query OK, 1 row affected (0.01 sec)
mysql> create table student1 (id int,name varchar(20),sex enum('m','f'),age int);
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;查看表
+----------------+
| Tables_in_haha |
+----------------+
| student1 |
| t2 |
+----------------+
2 rows in set (0.00 sec)
mysql> drop table t2删除表
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;查看表
+----------------+
| Tables_in_haha |
+----------------+
| student1 |
+----------------+
1 row in set (0.00 sec)
表中插入内容
语法 insert into 表名 values(字段值列表...);
mysql> insert into student1 values(1,'zhangsan','m',33);表中插入内容
Query OK, 1 row affected (0.00 sec)
mysql> insert into student1 values(2,'lisi','f',20);表中插入内容
Query OK, 1 row affected (0.00 sec)
mysql> insert into student1 values(3,'wangwu','m',40);表中插入内容
Query OK, 1 row affected (0.00 sec)
mysql> insert into student1 values(4,'liuzi','f',25);表中插入内容
Query OK, 1 row affected (0.01 sec)
查看表内容
mysql> select * from student1; //查询表中所有字段的值
mysql> select * from student1;查询表中所有字段的值
+------+----------+------+------+
| id | name | sex | age |
+------+----------+------+------+
| 1 | zhangsan | m | 33 |
| 2 | lisi | f | 20 |
| 3 | wangwu | m | 40 |
| 4 | liuzi | f | 25 |
+------+----------+------+------+
4 rows in set (0.00 sec)
mysql> desc student1;查看表结构,,,注意表结构和表内容是两个概念
+-------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| sex | enum('m','f') | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)