时间:2021-07-01 10:21:17 帮助过:3人阅读
数据类型
字符:CHAR(n) VARCHAR(n) BINARY(n) VARBINARY(n) TEXT(n) BLOB(n)
数值:
整型:TINYINT SMALLINT MEDIUMINT INT BIGINT
修饰符:UNSIGNED NOT NULL
浮点型:FLOAT DOUBLE
日期时间:DATE TIME DATETIME STAMP
布尔
NULL
内置:ENUM, SET
字段修饰符:
NOT NULL 非空
NULL 空
UNSIGNED 无符号
DEFAULT 不适用于TEXT类型
PRIMARY KEY 主键
UNIQUE KEY 唯一键
AUTO_INCREMENT:自动增长类型的字段必须为主键或惟一键
数据约束:
域约束:数据类型约束
外键约束:引用完整性约束
主键约束:某字段能惟一标识此字段所属的实体,并且不允许为空,一张表中只能有一个主键。
惟一性约束:每一行的某字段都不允许出现相同值,可以为空一张表中可以有多个
检查性约束:用户自定义有效取值范围。
MySQL安装
centos6: yum -y install mysql-server
yum -y install mysql
service mysqld start
centos7: yum -y install mariadb -server
yum -y install mariadb
service mariadb start
MySQL安装完成后,将在其data目录下自动创建几个必须的数据库,可以使用SHOW DATABASES语句来查看当前所有存在 的数据库。
12345678910 | mysql> SHOW DATABASES; + --------------------+ | Database | + --------------------+ | information_schema | | mysql | | performance_schema | | test | + --------------------+ 4 rows in set (0.00 sec) |
MySQL命令主要分为以下几类:
DML:Data Manapulate Language: 数据操作语言(操作表中数据)
INSERT, REPLACE, UPDATE, DELETE
DDL:Data Defination Lanuage: 数据定义语言(操作表)
CREATE, ALTER, DROP
DCL:Data Control Language: 数据控制语言
GRANT, REVOKE
DQL:Data Query Language:数据查询语言
SELECT,WHERE,ORDER BY,GROUPBY,HAVING
TPL:事物处理语言
BEGIN,TRANSACTION,COMMIT
创建数据库是在系统磁盘上划分一块用于数据的存储和管理,如果管理员在设置权限的时候为用户创建了数据库,则可以直接使用,否则,需要自己创建数据库。MySQL创建数据库的基本SQL语法格式为:
12 | CREATE DATABASE db_name; #直接创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name; #当数据库不存在时创建 |
数据库创建好后可以使用SHOW CREATE DATABASES声明查看数据库的定义。
12345 | mysql> SHOW CREATE DATABASE test\G *************************** 1. row *************************** Database : test Create Database : CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ 1 row in set (0.00 sec) |
删除数据库是将已经存在的数据库从磁盘空间上清除,清除后,数据库中的所有数据也将一同被删除。MySQL中删除数据库的基本语法格式为:
1 | DROP DATABASE [IF EXISTS] db_name; |
123456 | mysql> CREATE DATABASE test_tb; Query OK, 1 row affected (0.00 sec) mysql> DROP DATABASE test_tb; Query OK, 0 rows affected (0.02 sec) mysql> SHOW CREATE DATABASE test_tb\G ERROR 1049 (42000): Unknown database ‘test_tb‘ |
MySQL
标签:mysql