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 所有权限
操作表
建表
- 登录
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表中数据
- 表中插入数据
insert into 表名 [(列名1, 列名2, 列名3, …)] values (值1, 值2, 值3, …);
一次性插入多行:
insert into 表名 [(列名1, 列名2, 列名3, …)] values (值1, 值2, 值3, …),(值1, 值2, 值3, …),(值1, 值2, 值3, …);
[] 内的内容是可选的 - 查询表中的数据
注意拼写正确,select
多个字段之间加,
select 列名称 from 表名称 [查询条件];
也可以使用通配符 * 查询表中所有的内容
where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件; - 更新表中的数据
update 语句可用来修改表中的数据, 基本的使用形式为:
update 表名称 set 列名称=新值 where 更新条件; - 删除表中的数据
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;
- 修改列
基本形式: 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;
- 删除列
基本形式: alter table 表名 drop 列名称;
示例:
删除 birthday 列:
alter table students drop birthday;
- 重命名表
基本形式: alter table 表名 rename 新表名;
示例:
重命名 students 表为 workmates:
alter table students rename workmates;
- 删除整张表
基本形式: drop table 表名;
示例: 删除 workmates 表:
drop table workmates;
- 删除整个数据库
基本形式: 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语句进行各种操作
- 服务器权限:对于服务器里面所有表的权限
- 权限:针对某个特定表或者数据库的权限
- 选择数据库,然后查询——新建查询,这里只支持进行查询的SQL
- 创建数据库、表、添加字段,只能通过可视化工具添加。
总结:查询操作使用Navicat点几下,输几个条件,很容易写出来