mysql安装使用
1,通过官网下载连接下载msi安装镜像。300M左右,安装所有需要二十几分钟左右。操作界面用 navicate 连接数据库。
2,安装之后,进入C盘mysql目录,在文件栏目输入cmd 打开命令行提示符界面 C:\Program Files\MySQL\MySQL Server 5.7\bin\,按回车键。
3,在命令提示符界面可以通过登录命令连接 MySQL 数据库。
mysql -h 127.0.0.1 -u root -p
这里输入配置向导中设置的密码,验证正确后,即可登录 MySQL 数据库。
可以在 mysql 命令中直接加上密码,该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待。
4,登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语。
退出数据库
\q
或者
quit
创建数据库,必须要带上;分号。
mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.12 sec)
显示数据库
mysql> SHOW DATABASES;
使用 LIKE 从句,查看与 test_db 完全匹配的数据库
先创建三个数据库,名字分别为 test_db、db_test、db_test_db。
mysql> SHOW DATABASES LIKE 'test_db';
mysql> SHOW DATABASES LIKE '%test%';
使用 LIKE 从句,查看名字以 db 开头的数据库:
mysql> SHOW DATABASES LIKE 'db%';
使用 LIKE 从句,查看名字以 db 结尾的数据库:
mysql> SHOW DATABASES LIKE '%db';
选择数据库
mysql> USE test_db;
数据库中创建表,创建了一个名称为 tb_emp1 的数据表,
mysql> USE test_db
mysql> CREATE TABLE tb_emp1;
创建了表,必须创建字段,才能显示显示表
****************可以继续创建如下
mysql> CREATE TABLE IF NOT EXISTS user_login( id INT PRIMARY KEY, name VARCHAR(100),age INT);
如果创建表报错;也可能是符号不对,必须是`断号符;
显示表,使用 SHOW TABLES;语句查看数据表是否创建成功
mysql> SHOW TABLES;
创建了表,必须创建字段,才能显示表
修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
其中,TO 为可选参数,使用与否均不影响结果。
使用 ALTER TABLE 将数据表 student 改名为 tb_students_info,SQL 语句和运行结果如下所示。
mysql> ALTER TABLE student RENAME TO tb_students_info;
mysql> SHOW TABLES;
修改表字符集,MySQL 通过 ALTER TABLE 语句来实现表字符集的修改,语法规则如下:
ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;
修改表的列名,前面是断号符号,后面字符串符号。
UPDATE user_login SET `name` = 'zsg';
找到id为1的地方 加一行。
UPDATE user_login SET `name` = 'zhengshanggen' where id = 1;
在id为1的地方加一列。其中 pass_columns 类名,后面是类型。
先添加列。
ALTER TABLE user_login ADD COLUMN pass_columns VARCHAR(255); // 操作类的插入操作不能打开navicat操作列。否则插入失败。
再给id=1的列 pass_columns 添加value值。
UPDATE user_login SET `pass_columns ` = 'value' WHERE id = 1;
使用 ALTER TABLE 将数据表 tb_students_info 的字符集修改为 gb2312,校对规则修改为 gb2312_chinese_ci。SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_students_info CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci;
mysql> SHOW CREATE TABLE tb_students_info \G
修改字段名称
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
使用 ALTER TABLE 修改表 tb_emp1 的结构,将 col1 字段名称改为 col3,同时将数据类型变为 CHAR(30),SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1
-> CHANGE col1 col3 CHAR(30);
mysql> DESC tb_emp1;
修改字段数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
使用 ALTER TABLE 修改表 tb_emp1 的结构,将 name 字段的数据类型由 VARCHAR(22) 修改成 VARCHAR(30),SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1 -> MODIFY name VARCHAR(30); Query OK, 0 rows affected (0.15 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1;
删除表,要删除一个名为table_name的表,可以使用以下SQL语句
DROP TABLE table_name;
如果你想一次性删除多个表,可以将表名用逗号分隔,如下所示:
DROP TABLE table_name1, table_name2, table_name3;
删除字段
删除字段是将数据表中的某个字段从表中移除,语法格式如下:
ALTER TABLE <表名> DROP <字段名>;
使用 ALTER TABLE 修改表 tb_emp1 的结构,删除 col2 字段,SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1 -> DROP col2; Query OK, 0 rows affected (0.53 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1;
删除表的实例
选择数据库 test_db,创建 tb_emp3 数据表,输入的 SQL 语句和运行结果如下所示。 mysql> USE test_db; Database changed mysql> CREATE TABLE tb_emp3 -> ( -> id INT(11), -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.27 sec) mysql> SHOW TABLES;
以表格的形式展示表结构,使用 SHOW CREATE TABLE 语句查看表 tb_emp1 的详细信息,一次使用\g结尾,一次不使用:
mysql> SHOW CREATE TABLE tb_emp1;
mysql> SHOW CREATE TABLE tb_emp1 \g;
从 tb_students_info 表中查询所有字段的数据,SQL 语句和运行结果如下所示。
查询 tb_students_info 表中 name 列所有学生的姓名,SQL 语句和运行结果如下所示。
mysql> SELECT name FROM tb_students_info;
从 tb_students_info 表中获取 id、name 和 height 三列,SQL 语句和运行结果如下所示。
mysql> SELECT id,name,height
-> FROM tb_students_info;
向表中指定字段添加值。
在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT * FROM tb_courses;
mysql> INSERT INTO tb_courses (course_name,course_grade,course_info) VALUES('System',3,'Operation System'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses;
修改表中的数据。
在 tb_courses_new 表中,更新 course_id 值为 2 的记录,将 course_grade 字段值改为 3.5,将 course_name 字段值改为“DB”,输入的 SQL 语句和执行结果如下所示。
mysql> UPDATE tb_courses_new -> SET course_name='DB',course_grade=3.5 -> WHERE course_id=2;
mysql> SELECT * FROM tb_courses_new;
根据条件删除表中的数据。
在 tb_courses_new 表中,删除 course_id 为 4 的记录,输入的 SQL 语句和执行结果如下所示。
mysql> DELETE FROM tb_courses_new -> WHERE course_id=4; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM tb_courses_new;
清空表记录.
使用 TRUNCATE 语句清空 tb_student_course 表中的记录,SQL 语句和运行结果如下:
mysql> TRUNCATE TABLE tb_student_course; Query OK, 0 rows affected (0.04 sec) mysql> SELECT * FROM tb_student_course;
通过xshell 进行操作mysql命令。
或者通过设置这两个环境变量,即可通过cmd直接访问mysql数据库。
C:\Program Files\MySQL\MySQL Server 8.0\bin
C:\Program Files\MySQL\MySQL Shell 8.0\bin
启动的命令如下:
mysql -u root -p
创建表
> CREATE TABLE userlist(id int primary key, name varchar(100), page_index varchar(100), page_size varchar(100));
向表中处插入行的数据。行-添加新行
> insert into userlist(id, name) values(1,'koringz');
向表中列中加新列。列-新增列无值。 注意关键词desc不要作为字段属性添加。
> alter table userlist add column type varchar(100);
向表中列中加新列。列-新增多个列无值
> alter table userlist add counts varchar(100), add nums varchar(100);
更新表中列的字段的值。列-更新已有数据。可以是为空和有值,如果赋值是字符串 要加上引号,否则数字不用。
> update userlist set `page_size`=10 where id = 1;
> update userlist set `page_size`='深圳' where id = 1;
更新多个字段值用,分割。
>update userlist set `page_size`=10,`page_index`=1 where id = 1;
修改表内的字段 id 自增。
ALTER TABLE your_table MODIFY id INT AUTO_INCREMENT;
查询列表数据长度。
SELECT COUNT(*) FROM students WHERE grade = 'A';
查询表中所有字段
desc tb_students_info ;
左键 右键查询,
链表查询
交叉查询
遇到错误:
err= Error: Can't add new command when connection is in closed state at Conn。
需要重启服务,就不会报服务器错误。
---------------
mysql Error: Field 'id' doesn't have a default value。
表示主键 id 没有设置自增值,无法添加数据到数据库。
浙公网安备 33010602011771号