一、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、库管理:
查看库,创建、删除库test
mysql> create database test;##创建库testmysql> show databases;##显示所有已存在库mysql> use test;##进入库testmysql> 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));##创建表tb1mysql> 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;
③、查看表属性和状态
自己要先看得起自己,别人才会看得起你