-- 关系型数据库
一、如何使用终端操作数据库?
1. 如何登录数据库服务器你
mysql -uroot -p123456
2. 如何查询数据库服务器中所有数据库?
show databases;
3. 如何选中某一个数据库进行操作
mysql>
select * from admin;
ERROR 1046 (3D000): No database selected
use hello; 切换数据库
4. SQL 语句中的查询
select * from admin where Adimin_ID=1;
5. 如何退出服务器
exit;
6. 如何在数据库服务器中创建我们的数据库?
create database [
if not exits
] 数据库名;
-
if not exits :在创建数据 库 之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
7. 如何查看某个数据中所有的数据表
mysql>
show tables;
Empty set (0.00 sec)
8. 如何创建一个数据列表
create table pet (
name varchar(20),
owner varchar(20),
species varchar(20),
sex char(1),
birth date,
death date);
mysql> create table pet (
-> name varchar(20),
-> owner varchar(20),
-> species varchar(20),
-> sex char(1),
-> birth date,
-> death date);
Query OK, 0 rows affected (0.38 sec)
9. 查看数据表是否创建成功
mysql> show tables;
+-----------------+
| Tables_in_hello |
+-----------------+
| pet |
+-----------------+
1 row in set (0.00 sec)
10. 查看创建好的具体数据表结构
mysql>
describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.16 sec)
11. 如何往数据表中添加数据记录?
INSERT INTO pet
VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
mysql>
select * from pet;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Puffball | Dina | hamster | f | 1999-03-30 | NULL |
+----------+-------+---------+------+------------+-------+
1 row in set (0.00 sec)
12. 再一次查询?
mysql>
INSERT INTO pet
VALUES('旺财','周星驰','狗','公','1990-02-01',NULL);
+----------+-----------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-----------+---------+------+------------+-------+
| Puffball | Dina | hamster | f | 1999-03-30 | NULL |
| 旺财 | 周星驰 | 狗 | 公 | 1990-02-01 | NULL |
+----------+-----------+---------+------+------------+-------+
2 rows in set (0.00 sec)
※. 此处为修改当前数据中字符集
查看某一个数据库字符集:show create database enterprises;(注:enterprises为数据库)
查看某一个数据表字符集:show create table employees;(注:employees为数据表)
修改数据库enterprises的字符集:
alter database enterprises character set utf8
修改数据表employees的字符集:
alter table employees character set utf8
修改字段的字符集
alter table employees change name name char(10) character set utf-8;
13. mysql 常用数据类型有哪些?
--mysql支出多种类型,大致可以分为以下三种类型:
create table testType(
number TINYINT
);
INSERT INTO testType VALUES(127);
INSERT INTO testType VALUES(128);
报错:ERROR 1264 (22003): Out of range value for column 'number' at row 1
-
--数值
类型
|
大小
|
范围(有符号)
|
范围(无符号)
|
用途
|
TINYINT
|
1 byte
|
(-128,127)
|
(0,255)
|
小整数值
|
SMALLINT
|
2 bytes
|
(-32 768,32 767)
|
(0,65 535)
|
大整数值
|
MEDIUMINT
|
3 bytes
|
(-8 388 608,8 388 607)
|
(0,16 777 215)
|
大整数值
|
INT或INTEGER
|
4 bytes
|
(-2 147 483 648,2 147 483 647)
|
(0,4 294 967 295)
|
大整数值
|
BIGINT
|
8 bytes
|
(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)
|
(0,18 446 744 073 709 551 615)
|
极大整数值
|
FLOAT
|
4 bytes
|
(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
|
0,(1.175 494 351 E-38,3.402 823 466 E+38)
|
单精度
浮点数值
|
DOUBLE
|
8 bytes
|
(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
|
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
|
双精度
浮点数值
|
DECIMAL
|
对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2
|
依赖于M和D的值
|
依赖于M和D的值
|
小数值
|
-
-- 日期和时间类型
类型
|
大小(bytes)
| 范围 |
格式
|
用途
|
DATE
|
3
|
1000-01-01/9999-12-31
|
YYYY-MM-DD
|
日期值
|
TIME
|
3
|
'-838:59:59'/'838:59:59'
|
HH:MM:SS
|
时间值或持续时间
|
YEAR
|
1
|
1901/2155
|
YYYY
|
年份值
|
DATETIME
|
8
|
1000-01-01 00:00:00/9999-12-31 23:59:59
|
YYYY-MM-DD HH:MM:SS
|
混合日期和时间值
|
TIMESTAMP
|
4
|
1970-01-01 00:00:00/2038
结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
|
YYYYMMDD HHMMSS
|
混合日期和时间值,时间戳
|
-
--和字符串(字符)类型
类型
|
大小
|
用途
|
CHAR
|
0-255 bytes
|
定长字符串
|
VARCHAR
|
0-65535 bytes
|
变长字符串
|
TINYBLOB
|
0-255 bytes
|
不超过 255 个字符的二进制字符串
|
TINYTEXT
|
0-255 bytes
|
短文本字符串
|
BLOB
|
0-65 535 bytes
|
二进制形式的长文本数据
|
TEXT
|
0-65 535 bytes
|
长文本数据
|
MEDIUMBLOB
|
0-16 777 215 bytes
|
二进制形式的中等长度文本数据
|
MEDIUMTEXT
|
0-16 777 215 bytes
|
中等长度文本数据
|
LONGBLOB
|
0-4 294 967 295 bytes
|
二进制形式的极大文本数据
|
LONGTEXT
|
0-4 294 967 295 bytes
|
极大文本数据
|
14. 插入、删除、修改、查询
-
插入:
insert into 表名(字段名,字段名,...)VALUES(值1,值2,...);
-
删除:
DELETE from 表名 WHERE 字段名='值1';
-
修改:
UPDATE 表名 SET 字段1=值1 ,... WHERE 子句;
-
查询:
SELECT 字段 FROM 表名;
-- 二、如何使用可视化工具操作数据库?
-- 三、如何在编程语言中操作数据库?
用着用着就会了