MySQL基础

在 Windows 命令提示符下运行:
启动: net start MySQL
停止: net stop MySQL


SQL语句不区分大小写(select等),在window中,其他的也都不区分大小写;在Linux中字段名、数据库名和表名要区分大小写。

MySQL用户管理

修改密码

首先在DOS 下进入mysql安装路径的bin目录下,然后键入以下命令:

mysqladmin -uroot -p123 password 456;

增加用户

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by ‘密码’

  • 示例1
    如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
如果你不想user1有密码,可以再打一个命令将密码去掉。

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
  • 示例2
grant all privileges on wpj1105.* to sunxiao@localhost identified by '123';   #all privileges 所有权限

操作表

建表

  1. 登录
mysql -h 主机名 -u 用户名 -p
-h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
-u : 所要登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

2. create database 数据库名 [其他选项];
查看并选择数据库

show databases;
use 数据库名;

3. 在数据库中创建表
create table 表名称(列声明);
create table 表名(
);
- 举例:

CREATE TABLE `workers_info` (  
      `id` int(11) NOT NULL AUTO_INCREMENT,  
      `workername` varchar(20) NOT NULL,   
      `salary` int(11) DEFAULT '0',  
      `email`  varchar(30),  
      `EmployedDates`  date,  
      `department`  varchar(30),  
      PRIMARY KEY (`id`)  
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

4.查看表结构

desc  workers_info;

查看表:

show tables;

操作MySQL表中数据

  1. 表中插入数据
    insert into 表名 [(列名1, 列名2, 列名3, …)] values (值1, 值2, 值3, …);
    一次性插入多行:
    insert into 表名 [(列名1, 列名2, 列名3, …)] values (值1, 值2, 值3, …),(值1, 值2, 值3, …),(值1, 值2, 值3, …);
    [] 内的内容是可选的
  2. 查询表中的数据
    注意拼写正确,select
    多个字段之间加,
    select 列名称 from 表名称 [查询条件];
    也可以使用通配符 * 查询表中所有的内容
    where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件;
  3. 更新表中的数据
    update 语句可用来修改表中的数据, 基本的使用形式为:
    update 表名称 set 列名称=新值 where 更新条件;
  4. 删除表中的数据
    delete 语句用于删除表中的数据, 基本用法为:
    delete from 表名称 where 删除条件;

创建后表的修改

alter table 语句用于创建后对表的修改, 基础用法如下

1. 添加列
基本形式: alter table 表名 add 列名 列数据类型 [after 插入位置];
示例:
在表的最后追加列 address:

alter table students add address char(60);
在名为 age 的列后插入列 birthday:
alter table students add birthday date after age;
  1. 修改列
    基本形式: alter table 表名 change 列名称 列新名称 新数据类型;
    示例:
    将表 tel 列改名为 telphone:
alter table students change tel telphone char(13) default "-";
将 name 列的数据类型改为 char(16):
alter table students change name name char(16) not null;
  1. 删除列
    基本形式: alter table 表名 drop 列名称;
    示例:
    删除 birthday 列:
alter table students drop birthday;
  1. 重命名表
    基本形式: alter table 表名 rename 新表名;
    示例:
    重命名 students 表为 workmates:
alter table students rename workmates;
  1. 删除整张表
    基本形式: drop table 表名;
    示例: 删除 workmates 表:
drop table workmates;
  1. 删除整个数据库
    基本形式: drop database 数据库名;
    示例: 删除 samp_db 数据库:
drop database samp_db;

对于一些较长的语句在命令提示符下可能容易输错, 因此我们可以通过任何文本编辑器将语句输入好后保存为 createtable.sql 的文件中, 通过命令提示符下的文件重定向执行执行该脚本。
打开命令提示符, 输入:

mysql -D samp_db -u root -p < createtable.sql

(提示: 1.如果连接远程主机请加上 -h 指令; 2. createtable.sql 文件若不在当前工作目录下需指定文件的完整路径。)

Navicat

  • 可以图形化的实现很多功能,很方便。
  • 直接按F6可打开命令列界面(或者工具——命令列界面),即可通过MySQL语句进行各种操作
  1. 服务器权限:对于服务器里面所有表的权限
  2. 权限:针对某个特定表或者数据库的权限
  3. 选择数据库,然后查询——新建查询,这里只支持进行查询的SQL
  4. 创建数据库、表、添加字段,只能通过可视化工具添加。

总结:查询操作使用Navicat点几下,输几个条件,很容易写出来