MySQL (二) 字符 DML DDL

来源:互联网 发布:返利网淘宝卖家知道吗 编辑:程序博客网 时间:2024/05/21 19:30

修改root用户密码

--进入到mysql数据库use mysql;--执行修改语句update user set password = PASSWORD("NEWPASSWORD") where user = 'username';--修改完成之后使之生效flush privileges;--然后退出 便修改成功

介绍几款MySQL的客户端

    1, Navicate    2, sqlyog    3, HeidiSQL

第一个SQL命令

显示所有数据库
mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || hive               || mysql              || performance_schema || sys                |+--------------------+5 rows in set (0.31 sec)

系统数据库的介绍:

Information_schema 提供了访问数据库元数据的方式。什么是元数据?元数据是关于数据的数据,如数据库名称、表名、列名、列的数据类型。Mysql存储了系统用户信息、用户权限信息。Performance_schema 提供进程等待的详细信息,包括锁、互斥变量、文件信息。Test 测试用的数据库,或删除

创建数据库及使用数据库

--创建数据库create database dbname;--使用数据库use dbname;

Mysql的字符集

--查看数据库数据集mysql> show variables like 'character_set%';+--------------------------+----------------------------+| 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)

修改字符集的方法:

1,停止MySQL服务。net stop mysql2, 修改my_default.ini文件为my.ini。

这里写图片描述

3, 启动mysql , net start mysql   修改data数据的存放位置。

这里写图片描述

如图中的datadir。

SQL的三个级别

针对操作对象的不同,分成三个不同的语言。1, 数据库操作(管理)语言, DMLData management language2, 数据定义语言,对保存数据的格式进行定义, DDLData Definition language3, 数据库控制语言,针对数据库服务进行管理操作, DCLData Control Language --DBA : 数据库管理员 database administrator

数据定义语言 DDL

用于操作对和对象属性,这种对象包括数据库本身,以及数据库对象。比如:表、视图等等。DDL对这些对象和属性的管理和定义主要表现在create 、 drop 、alter。一个数据库模型包含该数据库中所有实体的描述定义。创建数据库`create database dbname;`使用数据库:
use dbname;
删除数据库:
drop database dbname;
建表
 -> mysql> create table person_info(    ->     -> person_id int not null auto_increment,    ->     -> name varchar(50) not null comment '人名',    ->     -> country varchar(30) default 'china' not null,    ->     -> account decimal(10,2) default 0.00 comment '账户',    ->     -> primary key(person_id)    ->     -> )engine=innodb default charset=utf8;
Auto_increment : 自增长,初始值为1,每插入一行,自动加1.Comment : 当前字段的定义说明,备注。Default : 指定默认值Primary key : 指定主键。Engine=innodb : 指定数据库引擎Default charset=utf8 : 指定编码。Not null / null : 不能为空/可以为空查看表结构
desc tablename;+-----------+---------------+------+-----+---------+----------------+| Field     | Type          | Null | Key | Default | Extra          |+-----------+---------------+------+-----+---------+----------------+| person_id | int(11)       | NO   | PRI | NULL    | auto_increment || name      | varchar(50)   | NO   |     | NULL    |                || country   | varchar(30)   | NO   |     | china   |                || account   | decimal(10,2) | YES  |     | 0.00    |                |+-----------+---------------+------+-----+---------+----------------+4 rows in set (0.05 sec)
创建结构相同的表
--注意 tablenameB  必须存在create table tablenameA like tablenameB;
修改表的名称
    alter oldTableName rename to newTableName;
查看当前数据库所有的表
show tables;
修改字段的类型
alter table tablename modify column_name1 column_desc [first|after] column_name2
增加字段
alter table tablename add column_name column_desc [first|after] column_name;
删除字段
alter table tablename drop column_name;
修改字段的名称
alter table tablename change oldColumnName newColumnName column_desc [first|after] column_name;

数据库的管理语言 DML

DML包括:select , insert , update , deleteinsert 的几种语法
--后面的value 列 必须与表列意义对应insert into tablename values(cols........);--添加多少就要输入多少insert into tablename (col1,col2,....) values (val1,val2....)--新查询出来的表的列 必须和增加的表的列 一一对应insert into tablename select ******;insert tablename set col1 = 'val1',col2 = 'val2';
update
update tablename set value1 = value2 where ..........
delete
delete from tablename where condition;