mysql驱动式教程笔记

基础原理及操作

数据查询语言:DQL
动词:select
常用的保留字:where ,order by ,group by ,having

数据操作语言:DML
动词:insert ,update ,delete

事务处理语言:TPL
该语句能确保被DML语言影响的表的所有行及时得到更新
begin transaction ,commit ,rollback

数据控制于句:DCL
他的语句通过grant ,revoke获得许可

数据定义语言:DDL
动词:update ,drop

指针控制语言:CCL
declare cursor ,fetch into ,update where current

mysql数据类型:
数值型,精确数值型,浮点数据型,字符型,日期型,时间日期型,文本型等
例:姓名,商品名等字段选择varchar类型,学分,年龄选择小整数tinyint类型,保留小数的选择float类型,日期时间选择date或datetime
——
整数类型
tinyint,smallint,mediumint,int,bigint
——
浮点数类型
float,单精度浮点数
double,双精度浮点数
decimal,定点数类型
——
char和varchar类型
char固定长度,不管存储1个还是2个,都将占用4个字节
varchar是存入的实际字符数+1
char比varchar检索速度快
——
text和blob类型
text文本方式存储
blob二进制方式存储
——
enum和set类型
enum(‘男’,‘女’)枚举,只能必须选择一种
set(篮球,足球,音乐)选择其中的0或多项
——
数据类型的附加属性
例:学号不为空且主键唯一:NOT NULL PRIMARY KEY
例:自动递增的编号:AUTO_INCREMENT
——
NULL/NOT NULL 数据列不允许NULL值
DEFAULT xxx 默认值,如果插入的值没有指定值,将取这个默认值
PRIMARY KEY 指定列为主键
AUTO_INCREMENT 递增
UNSINGED 无符号,针对整型
CHARACTER SET name 指定一个字符集
————————————————————————————————————————————
基本语句:
建表:
create table number(
no char(4) primary key,
n_name char(6));
——
插入一列:
alter table stu add column sex enum(‘男’,‘女’) not null character set utf8
——
删除一列
alter table stu drop column time;
——
修改列名
alter table stu change id ID;
——
插入多条数据:
insert into number values(‘001’,‘小明’),(‘002’,‘小红’);
replace into number values(‘001’,‘小明’),(‘002’,‘小红’); 插入的时候,如果主键唯一索引冲突,
那么该语句会删除老的信息,录入新的记录
insert into number values(‘001’,‘小明’),(‘002’,‘小红’) on duplicate key update n_name=values(n_name);该语句则修改原
记录为新记录
——
修改数据:
update number set n_name=‘小华’ where no=‘001’;
——
删除数据:
delete from number where no=‘001’;删除001记录
delete from number; 清空表
——
删除表:
drop table number;
——
删除数据库:
drop database test;
————————————————————————————
远程访问mysql服务器:
想要成功连接到远程主句,需要打开访问权限,即授权
——
grant select,update,insert,delete on . to ‘root’@‘ip’ identified by ‘123456’;
上面给root用户再某个IP上增删查改的权限
——
grant all privileges on . to ‘root’@‘ip’ identified by ‘123456’;
授予所有权限
——
revoke all privileges on . from ‘root’@‘ip’;
删除权限
——
drop user ‘root’@‘ip’;
删除用户
——
show grants for ‘root’@‘ip’;
查看用户权限
——
update user set host=’%’ where user=‘zab’;
修改用户在任何机器用zab用户都能登录
——
————————————————————————————————————
mysql字符集与数据类型
mysql默认字符集:latin1
——
MariaDB [(none)]> show variables like ‘character%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)
MariaDB [(none)]> show variables like ‘collation%’;
±---------------------±------------------+
| Variable_name | Value |
±---------------------±------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
±---------------------±------------------+
——
系统变量:
服务器的字符集:
character_set_server 和collation_server
默认值为latin1和latin1_swedish_ci
这两个值为create database来提供默认值
——
客户端来源字符集:
character_set_client
用来解释客户端发到服务器的sql命令
——
连接层字符集:
character_set_connection 和collation_connection
处理客户端发送的sql命令
——
查询结果字符集:
character_set_results
返回结果中文字量的编码
——
数据库字符集:
character_set_database 和collation_database
create database 命令有两个参数设置数据库的字符集
——
系统字符集:
character_set_system
定值:utf-8
——
各字符集依存关系
服务器级的字符集,决定客户端,连接级,结果级的字符集
服务器级决定数据库的字符集
数据库级决定表的字符集
表级决定列的字符集
——

修改默认字符集:default-character-set=utf8
####################################################################
####################################################################
######建库,建表,数据库管理#######
###创建和管理数据库###
创建库:
create {database | schema} [if not exists] db_name
[default] character set charset_name
| [default] collate collation_name
分析:
default character set :指定默认字符集
collate:指定字符集的校对规则
if not exists:如果村子某个数据库,再创建同名库,会报错,加上判断,只有再不存在是才执行
——
修改库:
alter {databse | schema} [db_name]
[default] character set charset_name
| [default] collate collation_name
——
删除库:
drop {databse | schema} [if exists] db_name
——
创建JXGL和CPXS数据库,并指定CPXS数据库的默认字符集为gb2312,校对规则为gb2312_chinese_ci
create schema if not exists JXGL;
create databse if not exists CPXS character set gb2312 collate gb2312_chinese_ci;
将JXGL库字符集修改为gb2312,校对规则为gb2312_chinese_ci
alter schema JXGL default character set gb2312 default collate gb2312_chinese_ci;
###创建和管理表###
创建表:
create [temporary] table [if not exists] table_name
[([colume_definition],…|[index_definition])] [table_option] [select_statement];
分析:
temporary:使用该关键字表示创建临时表
if not exists:如果存在该表,创建同名表时报错,加上判断,只有不存在时才create table操作
table_name:要创建的表名
colume_definition:字段的定义,包括指定字段名,数据类型,是否为空,默认值,主键约束,唯一性,注释字段名,是否为外键,以及字符类型的属性
col_name type [not null|null] [default default_value] [auto_increment] [unique [key] | [primary [key]] [comment’string’] [reference_definition]
col_name:字段名
type:字段的数据类型
null(not null):表示字段是否可以为空值
default:指定字段的默认值
auto_increment:设置自增属性,整型才能设置
primary key:字段主键约束
unique key:字段唯一性约束
reference_definition:字段外键约束
index_definition:表的相关字段指定索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值