一、MYQL数据语言1、数据库语言SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。数据操作语言(DML),例如
一、MYQL数据语言
1、数据库语言
SQL语言包括四类种主要程序设计语言类别的语句:
数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
数据查询语言(DQL),例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。
数据控制语言(DCL),例如:GRANT、REVOKE等语句。
事务控制语句(TCL),例如:COMMIT、ROLLBACK等语句。
2、 数据类型
①、字符型
char(n)
binary(n)
bit
float[(n)]
+
date
年年
年
它的合法取值列表最多允
许有65535个成员。
例如:ENUM("N","Y")表示,
该数据列的取值要么是"Y",要么就是"N"。
Set
集合
SET可取多值。它的合法取值
列表最多允许有64个成员。
空字符串也是一个合法的SET值。
4、MySQL中字符大小写:
1、SQL关键字及函数名不区分字符大小写;
2、数据库、表及视图名称的大小区分与否取决于低层OS及FS
3、存储过程、存储函数及事件调度器的名字不区分大小写,但触发器区分;
4、表别名区分大不写;
5、对字段中的数据,如果字段类型为Binary类型,则区分大小写;非Binary不区分大小写
二、MYSQL变量
1、设定服务器变量的值(仅用于支持动态的变量)支持修改的服务器变量:
动态变量:可以在Mysql运行时修改
静态变量:在配置文件中修改其值,并重启后方能生效;
服务器变量从其生效范围来讲,有两类:
全局变量(global):服务器级别,修改之后仅对新建立的会话有效;
会话变量(session):会话级别,仅对当前回话有效;
//会话建立时,从全局继承各变量;
2、查看服务器变量mysql> SHOW [{GLOBAL|SESSION}] VARIABLES [LIKE ''];
mysql> SELECT @@{GLOBAL|SESSION}.VARILABLE_NAME;
mysql> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='SOME_VARIABLE_NAME';
mysql> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='SOME_VARIABLE_NAME';
//常用为前两个
查询包含字符bin的全局变量
3、修改变量
前提:默认仅管理员有权限修改全局变量//格式
mysql> SET {GLOBAL|SESSION} VARIABLE_NAME='VALUE';
示例:
mysql> SET GLOBAL tx_isolation='read-committed';
//设置服务器的事务隔离级别为读提交
注意:
无论是全局还是会话级别的动态变量修改,在重启mysqld后都会失效;想永久有效,需定义在配置文件中的相应段中。
三、库、表管理
help帮助命令:mysql> help create database; ##用help命令查看建库方法
Name: 'CREATE DATABASE'
Description:
Syntax:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name //if not exists指如果不存在,才建立。
[create_specification] ...
1、库管理:
查看库,创建、删除库testmysql> create database test;
##创建库test
mysql> show databases;
##显示所有已存在库
mysql> use test;
##进入库test
mysql> drop database test;
##删除库test
2、表管理:
字段的定义:字段名、类型和类型修饰符
PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, CHECK
{INDEX|KEY}
①、创建、删除表tb1(需要自建一个库,,进入库)mysql> create table tb1 (id tinyint AUTO_INCREMENT UNIQUE KEY, name char(30) NOT NULL, age tinyint UNSIGNED NOT NULL, gender enum('F','M') NOT NULL, note varchar(30));
##创建表tb1
mysql> show tables; ##查看所有表明
mysql> drop table tb1; ##删除表tb1
②、增、删、查看表内容mysql> insert into tb1(id,name,age,gender,note) values(1,'tom',20,'F','good boy');
Query OK, 1 row affected (0.14 sec)
mysql> insert into tb1 values(2,'jerry',21,'M','beautiful girl');
Query OK, 1 row affected (0.00 sec)
##增加用户信息
mysql> select * from tb1;
##查看表中数据信息
+----+-------+-----+--------+----------------+
| id | name | age | gender | note
|
+----+-------+-----+--------+----------------+
| 1 | tom | 20 | F
| good boy
|
| 2 | jerry | 21 | M
| beautiful girl |
+----+-------+-----+--------+----------------+
2 rows in set (0.00 sec)
mysql> delete from tb1 where;
##删除用户信息
Query OK, 1 row affected (0.04 sec)
mysql> select * from tb1;
+----+-------+-----+--------+----------------+
| id | name | age | gender | note
|
+----+-------+-----+--------+----------------+
| 2 | jerry | 21 | M
| beautiful girl |
+----+-------+-----+--------+----------------+
1 row in set (0.00 sec)
根据表tb1创建一个空表tb2
mysql> create table tb2 like tb1;
③、查看表属性和状态