mysql数据库
使用命令行工具连接数据库
mysql -h -u 用户名 -p
- -u表示后面是用户名
- -p表示后面是密码
- -h表示后面是主机名,登录当前设备可省略。
如我们要登录本机用户名为root,密码为123456的账户:
mysql -u root -p
按回车,然后再输入密码即可。
使用代码连接
连接用户名为root,密码为123456,mysql中名为user_db的数据库。
var db = mysql.createConnection({host: "localhost", user: "root", password: "123456",database: "user_db"
})
显示mysql中的所有数据库(mysql中可以有很多个数据库,并不是只有一个)
show databases
// 退出mysql
exit
比如这里就有六个数据库
创建,删除一个user_db的数据库
// 创建数据库
create database user_db
// 删除数据库drop database user_db
使用数据库(对表操作之前,要先选择一个数据库)
use user_db
比如这里我们打算在user_db数据库下面新建数据表
创建,删除一个数据表
create table students{}
// 创建一个带id,name,password,以id为主键,数值会自动加1的students数据表
CREATE TABLE IF NOT EXISTS `students`(`id` INT UNSIGNED AUTO_INCREMENT,`name` VARCHAR(40) NOT NULL,`password` VARCHAR(100) NOT NULL,PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
注意这里只是创建了一个表结构,就是还没有数据
删除数据表
drop table students
插入数据
insert into students values(NULL, "王刚", "123456");
// 或者
INSERT INTO students (name,password) VALUES ('张三','1234')
查询数据
查询所有数据;
select * from students;查询所有数据的name,age
select name, age from students 查询名称为菜鸟教程的数据
SELECT * from students WHERE name='菜鸟教程';查询名字中带有 “王” 字的所有人信息:
select * from students where name like “%王%”;查询id小于5且年龄大于20的所有人信息:
select * from students where id<5 and age>20;
更新数据
将id为5的手机号改为默认的”-“:
update students set tel=default where id=5;将所有人的年龄增加1:
update students set age=age+1;将手机号为 13288097888 的姓名改为 “张伟鹏”, 年龄改为 19:
update students set name=”张伟鹏”, age=19 where tel=”13288097888″;
删除数据
删除id为2的行:
delete from students where id=2;删除所有年龄小于21岁的数据:
delete from students where age<20;删除表中的所有数据:
delete from students;
创建后表的修改
添加列:
基本形式: 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;